projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'zbd'
[fio.git]
/
lib
/
lfsr.h
diff --git
a/lib/lfsr.h
b/lib/lfsr.h
index 0de9ea8e3c09a10a4b411d69d9fb30b569733f76..c2d55693e89aa4869eec1280ea1e431cc039689c 100644
(file)
--- a/
lib/lfsr.h
+++ b/
lib/lfsr.h
@@
-3,7
+3,7
@@
#include <inttypes.h>
#include <inttypes.h>
-#define FIO_MAX_TAPS
8
+#define FIO_MAX_TAPS
6
struct lfsr_taps {
unsigned int length;
struct lfsr_taps {
unsigned int length;
@@
-12,13
+12,19
@@
struct lfsr_taps {
struct fio_lfsr {
struct fio_lfsr {
+ uint64_t xormask;
uint64_t last_val;
uint64_t last_val;
+ uint64_t cached_bit;
uint64_t max_val;
uint64_t num_vals;
uint64_t max_val;
uint64_t num_vals;
- struct lfsr_taps taps;
+ uint64_t cycle_length;
+ uint64_t cached_cycle_length;
+ unsigned int spin;
};
int lfsr_next(struct fio_lfsr *fl, uint64_t *off);
};
int lfsr_next(struct fio_lfsr *fl, uint64_t *off);
-int lfsr_init(struct fio_lfsr *fl, uint64_t size);
+int lfsr_init(struct fio_lfsr *fl, uint64_t size,
+ unsigned long seed, unsigned int spin);
+int lfsr_reset(struct fio_lfsr *fl, unsigned long seed);
#endif
#endif