X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=lib%2Flfsr.c;h=9771318ab00163b8b6a9f68dc076cd896c00fda6;hp=927b2a10cdeeefc4441a9b7aa720677b6939a9be;hb=225ba9e3433cf27d8ff7b213d9f78b7ef2776c70;hpb=d56036a40edce5619d6e9346b1e9d34822ab1437 diff --git a/lib/lfsr.c b/lib/lfsr.c index 927b2a10..9771318a 100644 --- a/lib/lfsr.c +++ b/lib/lfsr.c @@ -2,6 +2,7 @@ #include #include "lfsr.h" +#include "../compiler/compiler.h" /* * LFSR taps retrieved from: @@ -132,11 +133,9 @@ int lfsr_next(struct fio_lfsr *fl, uint64_t *off, uint64_t last) if (fl->cycle_length && !--fl->cycle_length) { __lfsr_next(fl, fl->spin + 1); fl->cycle_length = fl->cached_cycle_length; - goto check; - } - __lfsr_next(fl, fl->spin); -check: ; - } while (fl->last_val > fl->max_val); + } else + __lfsr_next(fl, fl->spin); + } while (fio_unlikely(fl->last_val > fl->max_val)); *off = fl->last_val; return 0;