Recent changes (master)
The following changes since commit e6727cbdd34a6ec30b437311724a6aa60e6b06fd:
ioengines: account any queued IO on the engine side (2016-02-25 12:24:47 -0800)
are available in the git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to 2cafffbea5d2ed2f20d73efa0d82baa9046e0b12:
Add support for preadv2/pwritev2 (2016-02-26 11:02:54 -0800)
----------------------------------------------------------------
Jens Axboe (1):
Add support for preadv2/pwritev2
HOWTO | 3 +++ configure | 19 ++++++++++++++++ engines/sync.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ fio.1 | 7 ++++++ options.c | 5 +++++ 5 files changed, 105 insertions(+)
---
Diff of recent changes:
HOWTO +3 -0
@@ -1784,6 +1784,9 @@ that defines them is selected. enabled when polling for a minimum of 0 events (eg when iodepth_batch_complete=0). +[psyncv2] hipri Set RWF_HIPRI on IO, indicating to the kernel that + it's of higher priority than normal. + [cpu] cpuload=int Attempt to use the specified percentage of CPU cycles. [cpu] cpuchunks=int Split the load into cycles of the given time. In
configure +19 -0
@@ -1241,6 +1241,22 @@ fi echo "pwritev/preadv $pwritev" ########################################## +# Check whether we have pwritev2/preadv2 +pwritev2="no" +cat > $TMPC << EOF +#include <stdio.h> +#include <sys/uio.h> +int main(int argc, char **argv) +{ + return pwritev2(0, NULL, 1, 0, 0) + preadv2(0, NULL, 1, 0, 0); +} +EOF +if compile_prog "" "" "pwritev2"; then + pwritev2="yes" +fi +echo "pwritev2/preadv2 $pwritev2" + +########################################## # Check whether we have the required functions for ipv6 ipv6="no" cat > $TMPC << EOF
@@ -1742,6 +1758,9 @@ fi if test "$pwritev" = "yes" ; then output_sym "CONFIG_PWRITEV" fi +if test "$pwritev2" = "yes" ; then + output_sym "CONFIG_PWRITEV2" +fi if test "$ipv6" = "yes" ; then output_sym "CONFIG_IPV6" fi
engines/sync.c +71 -0
95 lines not on this page · raw message
fio.1 +7 -0
@@ -591,6 +591,9 @@ coalescing adjacent IOs into a single submission. .B pvsync Basic \fBpreadv\fR\|(2) or \fBpwritev\fR\|(2) I/O. .TP +.B pvsync2 +Basic \fBpreadv2\fR\|(2) or \fBpwritev2\fR\|(2) I/O. +.TP .B libaio Linux native asynchronous I/O. This ioengine defines engine specific options. .TP
@@ -1647,6 +1650,10 @@ from user-space to reap events. The reaping mode is only enabled when polling for a minimum of 0 events (eg when iodepth_batch_complete=0). .TP +.BI (psyncv2)hipri +Set RWF_HIPRI on IO, indicating to the kernel that it's of +higher priority than normal. +.TP .BI (net,netsplice)hostname \fR=\fPstr The host name or IP address to use for TCP or UDP based IO. If the job is a TCP listener or UDP reader, the hostname is not
options.c +5 -0
@@ -1240,6 +1240,11 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .help = "Use preadv/pwritev", },#endif +#ifdef CONFIG_PWRITEV + { .ival = "pvsync2", + .help = "Use preadv2/pwritev2", + }, +#endif #ifdef CONFIG_LIBAIO { .ival = "libaio", .help = "Linux native asynchronous IO",