aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
5 yearslfsr-test: print total elapsed time correctlySteven Noonan
The conversion from microseconds to seconds is 1e6 not 1e9. Signed-off-by: Steven Noonan <steven@uplinklabs.net> Signed-off-by: Jens Axboe <axboe@fb.com>
5 yearsgettime: add support for CLOCK_MONOTONIC_RAWSteven Noonan
The clock CLOCK_MONOTONIC_RAW (introduced in Linux 2.6.28) is similar to CLOCK_MONOTONIC except that it is not subject to NTP adjustments or incremental adjustments performed by adjtime(). Signed-off-by: Steven Noonan <steven@uplinklabs.net> Signed-off-by: Jens Axboe <axboe@fb.com>
6 yearsnet: don't record/verify UDP sequence numbers if buffer is too smallSteven Noonan
This causes a bunch of out-of-bounds accesses if you have really small buffer sizes (i.e. 16 bytes will crash). Signed-off-by: Steven Noonan <steven@uplinklabs.net> Signed-off-by: Jens Axboe <axboe@fb.com>
8 yearsstat.c: make 'bw' summary line respect 'unit_base' optionSteven Noonan
Signed-off-by: Steven Noonan <steven@uplinklabs.net> Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 yearsstats: show summary bandwidth in terms of kb_baseSteven Noonan
Signed-off-by: Steven Noonan <steven@uplinklabs.net> Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 yearsimplement 'unit_base' option to select between KB and Kbit et. al.Steven Noonan
With network testing, it's often desirable to measure in terms of kilobits/megabits rather than kilobytes/megabytes. This adds an option named 'unit_base' which can be set to either '1' or '8', where '1' means represent in terms of bits and '8' means to represent rate in terms of bytes. Signed-off-by: Steven Noonan <steven@uplinklabs.net> Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 yearsnum2str: add arguments to represent values in terms of bytes/bitsSteven Noonan
This allows for representing I/O rates in terms of e.g. megabits (Mb) versus megabytes (MB). Signed-off-by: Steven Noonan <steven@uplinklabs.net> Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 yearsgitignore: ignore configure script outputsSteven Noonan
Signed-off-by: Steven Noonan <steven@uplinklabs.net> Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 yearspowerpc: use mfspr for Time Base Register readsSteven Noonan
The 'mftb' and 'mftbu' instructions are deprecated in Power ISA v2.06 in favor of mfspr. Since CPUs supporting mftb/mftbu also support the TBR SPRs, there's no known reason to keep mftb/mftbu. Signed-off-by: Steven Noonan <steven@uplinklabs.net> Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 yearsnet engine: implement option "nodelay" for TCP socketsSteven Noonan
With disks, O_DIRECT effectively bypasses all buffering/caching mechanisms and ensures that the I/O is going directly to the disk. Since TCP is a streaming protocol (like disk I/O), it also has a buffering mechanism. As with disks, it is sometimes desirable to bypass buffering. To that end, we can use TCP_NODELAY, which transmits the packet as soon as data is assembled, regardless of whether it occupies a full frame. Signed-off-by: Steven Noonan <snoonan@amazon.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
8 yearsengines/net.c: fix compilation error due to missing signal.h includeSteven Noonan
Corrects this build failure: engines/net.c: In function 'fio_netio_terminate': engines/net.c:900:2: warning: implicit declaration of function 'kill' [-Wimplicit-function-declaration] engines/net.c:900:16: error: 'SIGUSR2' undeclared (first use in this function) engines/net.c:900:16: note: each undeclared identifier is reported only once for each function it appears in Signed-off-by: Steven Noonan <snoonan@amazon.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
9 yearsimplement zoned random I/O testing supportSteven Noonan
This fixes the limitation that prevents fio from doing random I/O with zones enabled. This also adds a 'zonerange' configuration option which may be too ambiguous and is subject to potential renaming in the future. When doing random I/O, it is beneficial to be able to specify how large the addressible space is in the zone, while specifying a different metric for how much data to read from that zone (i.e., how many samples to take from each zone). When 'zonerange' is not specified, it defaults to be equal to the 'zonesize' option. When both are specified, 'zonerange' indicates the size of the zone while 'zonesize' indicates the quantity of data to read from each zone. Signed-off-by: Steven Noonan <snoonan@amazon.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
9 yearsfix early termination of runs caused by ramp_time > runtimeSteven Noonan
If ramp_time was longer than the runtime, then the run terminated immediately after the ramp_time was exceeded. In order to avoid this, teach runtime_exceeded about ramp_time. Signed-off-by: Steven Noonan <snoonan@amazon.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
9 yearsFix inconsistencies in with man page <param>=<value>Steven Noonan
Signed-off-by: Jens Axboe <axboe@kernel.dk>
9 yearsman page: fix incorrect description for disable_clat optionSteven Noonan
Signed-off-by: Steven Noonan <snoonan@amazon.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
10 yearsos-mac.h: implement fio_set_odirect()Steven Noonan
Signed-off-by: Steven Noonan <snoonan@amazon.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
10 yearsos-mac.h: implement blockdev_size()Steven Noonan
Signed-off-by: Steven Noonan <snoonan@amazon.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>