[LTP] [PATCH v4] fzsync: limit sampling time
Richard Palethorpe
rpalethorpe@suse.de
Mon Dec 10 16:10:04 CET 2018
Hell Jan,
Jan Stancek <jstancek@redhat.com> writes:
> ----- Original Message -----
>> Fixes: #429
>>
>> Sampling can take considerably longer time on single CPU
>> and very slow systems. This patch limits sampling time to
>> 1/2 of fuzzing runtime. If we don't have enough samples by
>> that time, stop sampling and use stats we gathered so far.
>
> @Richard: Are you OK with v4 (with %% typo fixed)?
Yes, thanks.
>
>>
>> Signed-off-by: Jan Stancek <jstancek@redhat.com>
>> ---
>> include/tst_fuzzy_sync.h | 21 ++++++++++++++-------
>> 1 file changed, 14 insertions(+), 7 deletions(-)
>>
>> Changes in v4:
>> - drop comment
>> - tweak info message when timeout is reached
>>
>> diff --git a/include/tst_fuzzy_sync.h b/include/tst_fuzzy_sync.h
>> index 03f69b78bc82..0e534bb041f8 100644
>> --- a/include/tst_fuzzy_sync.h
>> +++ b/include/tst_fuzzy_sync.h
>> @@ -70,6 +70,9 @@
>> #ifndef TST_FUZZY_SYNC_H__
>> #define TST_FUZZY_SYNC_H__
>>
>> +/* how much of exec time is sampling allowed to take */
>> +#define SAMPLING_SLICE 0.5f
>> +
>> /** Some statistics for a variable */
>> struct tst_fzsync_stat {
>> float avg;
>> @@ -582,17 +585,21 @@ static inline void tst_fzsync_wait_b(struct
>> tst_fzsync_pair *pair)
>> static inline int tst_fzsync_run_a(struct tst_fzsync_pair *pair)
>> {
>> int exit = 0;
>> + float rem_p = 1 - tst_timeout_remaining() / pair->exec_time_start;
>> +
>> + if ((pair->exec_time_p * SAMPLING_SLICE < rem_p)
>> + && (pair->sampling > 0)) {
>> + tst_res(TINFO, "Stopped sampling at %d (out of %d) samples, "
>> + "sampling time reached 50% of the total time limit",
>> + pair->exec_loop, pair->min_samples);
>> + pair->sampling = 0;
>> + tst_fzsync_pair_info(pair);
>> + }
>>
>> - if (pair->exec_time_p
>> - < 1 - tst_timeout_remaining() / pair->exec_time_start) {
>> + if (pair->exec_time_p < rem_p) {
>> tst_res(TINFO,
>> "Exceeded execution time, requesting exit");
>> exit = 1;
>> -
>> - if (pair->sampling > 0) {
>> - tst_res(TWARN,
>> - "Still sampling, consider increasing LTP_TIMEOUT_MUL");
>> - }
>> }
>>
>> if (++pair->exec_loop > pair->exec_loops) {
>> --
>> 1.8.3.1
>>
>>
>> --
>> Mailing list info: https://lists.linux.it/listinfo/ltp
>>
--
Thank you,
Richard.
More information about the ltp
mailing list