History log of /external/fio/engines/net.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
868902df131bcef342fb735b89027f6139d47c7f 17-Jan-2015 Steven Noonan <steven@uplinklabs.net> net: don't record/verify UDP sequence numbers if buffer is too small

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>
/external/fio/engines/net.c
768ae05c2d4c5332c574a6470a23d1f522803f02 15-Oct-2014 Jens Axboe <axboe@fb.com> engines/net: get rid of conversion warning on clang/OSX

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
a9b3c6926fa5a2d98ded0a37e6fdc41f05b6b9f0 10-Oct-2014 Jens Axboe <axboe@fb.com> engines/net: add subjob number to given port

If we use numjobs=x where x > 1, then we don't want to reuse the
same port. Bump it within a group, using the subjob number.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
80436e168b57c1f988c63f9dfb0db6f51a998403 10-Oct-2014 Jens Axboe <axboe@fb.com> engines/net: use link close message on TCP as well

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
97909a1816a53059992a937852ffc040a0234757 09-Oct-2014 Jens Axboe <axboe@fb.com> engines/net: turn off UDP package dropping if buf size doesn't match

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
67e149c4c2b580089287813246344908770c3be9 09-Oct-2014 Jens Axboe <axboe@fb.com> stat: add dropped ios to the standard output

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
da91d7597e025cf8f12667b218433b02e5494296 09-Oct-2014 Jens Axboe <axboe@fb.com> engines/net: add start of tracking how many UDP packages are dropped

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
5e34ceafd6ea07785c470c8a8cd7cae740493743 09-Oct-2014 Jens Axboe <axboe@fb.com> engines/net: add TCP_MAXSEG setting (mss)

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
531e67afb01714c03a3aad00911a5c897f3f9e1d 09-Oct-2014 Jens Axboe <axboe@fb.com> engines/net: add socket buffer window size setting

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
0ecdd7f38e521cb55677264437fca6597976fd49 09-Oct-2014 Jens Axboe <axboe@fb.com> net: fix error reported on job exit and full residual

This is expected, when one end drops off.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
e5f7caafa1eb8dc6343cea57cb5dc43e5774f058 08-Oct-2014 Jens Axboe <axboe@fb.com> net: use SIGTERM for terminate

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
66f7a56f70e40e9e953c47fae3a3432e87cd0cb7 14-Apr-2014 Jens Axboe <axboe@fb.com> net engine: get rid of unused struct sockaddr_in6

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
4b159fa61a9c3ed7e00c8135189c184dcc48c69f 14-Apr-2014 Jens Axboe <axboe@fb.com> net engine: fix potential buffer overrun in socket path

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
d19cedd63494cf8aef6443fb2ce866cd7a977b98 11-Apr-2014 Jens Axboe <axboe@fb.com> net: fix leak of fd in bind() error path

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
b53f2c545d8335380b507bd7281178c25d27ddf0 09-Apr-2014 Jens Axboe <axboe@fb.com> Increment open file count manually

For engines/logs that manually add files, be sure to increment
the open file count.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
10aa136bddbaa7c845ab4eacb4a9a4a88d6657a3 02-Apr-2014 Jens Axboe <axboe@fb.com> Cleanup symbols that should be static

Run analysis on symbols not used outside of their current file,
turn them into statics.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
5903e7b7907854014478b6febfc5645a203ff59e 26-Feb-2014 Jens Axboe <axboe@fb.com> blktrace: load improvements

- Set the state explicitly to SETTING_UP when loading the
traces. This could take a while, so tell the status thread
that we are setting up so it knows how to display us
correctly.

- Fix a bug with multiple devices where we didn't cache the
major/minor properly. This made blktrace spend tons of CPU
cycles looking up /sys.

- Handle multiple devices correctly when adding files.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
68631b36e37e1ecaadc1e5697ead4adc21640562 25-Feb-2014 Jens Axboe <axboe@fb.com> net: fix accidental overwrite of more than just the address

Commit 0b783341 accidentally overwrote more than just the
address, causing garbage in the connection part.

Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
bcbfeefa7bce8383cf85fe59ced91f54821dfbd2 20-Feb-2014 Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com> fio: add multi directory support

This patch adds support for ':' seperated multiple directories at the
directory config statement in order to achieve an automatic distribution
of job clones (numjob) across directories.

That way people can distribute a load across these directories (usually
mount points of disks) automatically - changing numjob will be
sufficient to get all job clones evenly (optimal if dirs % numjobs = 0,
otherwise as good as possible) distributed at all times.

To avoid confused users old config Files will behave like they always
did, old fio binaries using new config files won't abort but just use
the first specified dir. If one specifies an explcit (non generated)
filename the distribution to many directories is also deactivated.

It also fixes an issue of events seeming out of order like when running
with --debug=file seeing the "..." message meaning "I created the
clones" prior to the last clone activities. Now the clones are called
with index N-1 .. 1, zero being the base thread as before.

Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
/external/fio/engines/net.c
eb2323108392e65ab7c4e4c5cbd74a1597b60187 25-Jan-2014 Jens Axboe <axboe@kernel.dk> engine: protect net engine IPv6 support with configure check

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
6611e9c767bad5c903c8ac59b9ae8409315dbca2 24-Jan-2014 Jens Axboe <axboe@kernel.dk> engine: more checks on IPv6 and multicast

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
b1b1be2a569fb9226fa1ebbfed91f34322ce1c9c 24-Jan-2014 Jens Axboe <axboe@kernel.dk> engine: pass in right protocol family on host lookup

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
0b783341927056e62ca2178c2ca74cca2c7b0100 24-Jan-2014 Jens Axboe <axboe@kernel.dk> engine: IPv6 net engine updates

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
49ccb8c10036ca0dca1238558c390f61f769c3c9 24-Jan-2014 Jens Axboe <axboe@kernel.dk> engine: basic support for IPv6 in the net IO engine

Adds 'tcpv6' and 'udpv6' protocol entries.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
f16b7405fff7c3fc1da421b6bdf8552cc99c3156 08-Oct-2013 Bruce Cran <bcran@fusionio.com> Update Windows code to fix build breakage

MinGW has been updated: this causes problems due to changes in header
files, including COM stuff being pulled in resulting in 'interface' being
a reserved keyword, and changes to a few POSIX definitions.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
d3a623deee774b82e4f92c6b9b4b0233b0f4454c 19-Jul-2013 Shawn Bohrer <sbohrer@rgmadvisors.com> net: Add option to set outgoing multicast TTL

Signed-off-by: Shawn Bohrer <sbohrer@rgmadvisors.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
b93b6a2e1e0d9b919d0b2d4106d3abe415234a46 19-Jul-2013 Shawn Bohrer <sbohrer@rgmadvisors.com> net: Allow setting network interface to use for multicast

Signed-off-by: Shawn Bohrer <sbohrer@rgmadvisors.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
b511c9aaa5f289596b05743c5b8e40451017129c 19-Jul-2013 Shawn Bohrer <sbohrer@rgmadvisors.com> net: Add UDP multicast support

Allow UDP readers to listen to UDP multicast traffic if hostname is set
to a valid UDP multicast address.

Signed-off-by: Shawn Bohrer <sbohrer@rgmadvisors.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
4a93dec2a85f4a979421638fde2877268c470ab1 19-Jul-2013 Shawn Bohrer <sbohrer@rgmadvisors.com> net: close socket on error

Signed-off-by: Shawn Bohrer <sbohrer@rgmadvisors.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
ee7062fdd7c2fdc0a0427343b5c5c119e7c08032 19-Jul-2013 Shawn Bohrer <sbohrer@rgmadvisors.com> net: fix recvfrom error message

The error is from recvfrom not sendto.

Signed-off-by: Shawn Bohrer <sbohrer@rgmadvisors.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
2ca1c763ca976d87feb0f9dda81819deb567720b 11-Apr-2013 Jens Axboe <axboe@kernel.dk> net: fix double setting of option category

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
b7f487cf80a8299a656df9c2214ff73e72956d71 10-Apr-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
engines/libaio.c
engines/net.c
iolog.h
options.c
options.h
parse.c
parse.h
thread_options.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>
e90a0adf85f75a65c02b22ba3766dff0d9d82ae6 10-Apr-2013 Jens Axboe <axboe@kernel.dk> Categorize engine and profile options

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
22f80458a520d0c5371c64bf91d24cdd21dff825 09-Apr-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
eta.c
fio.h
init.c
options.c
stat.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
ad705bcb7e79a7cdb9891db17b4c40b13b6c30c3 09-Apr-2013 Steven Noonan <steven@uplinklabs.net> implement 'unit_base' option to select between KB and Kbit et. al.

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>
/external/fio/engines/net.c
8ea39c32d29428b17bfe9c806fc33f0c8adfe118 04-Mar-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
init.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
6264c7a8ddd0998f371604c227d3aea491922681 28-Feb-2013 Jens Axboe <axboe@kernel.dk> net: fix warning for systems without TCP_NODELAY

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
95820b6e6c92025df8d89c0bf39b174e53137c41 31-Jan-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
Makefile
client.c
configure
fio.c
fio.h
server.c
server.h

Signed-off-by: Jens Axboe <axboe@kernel.dk>
1eafa37ac57bb08ca21af8ab76bd7848ae2e7c97 31-Jan-2013 Jens Axboe <axboe@kernel.dk> configure: add TCP_NODELAY check

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
26e594a55a54d47ce0a0784c27c6f851c83d101a 30-Jan-2013 Jens Axboe <axboe@kernel.dk> net: fix compile warning on Windows (and others)

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
70a7878c00e130affc3e0bd7d59bd83d57c3268e 28-Nov-2012 Steven Noonan <snoonan@amazon.com> net engine: implement option "nodelay" for TCP sockets

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>
/external/fio/engines/net.c
836fcc0fceb233ebcc41ee63b4ea5cae20b678a4 24-Jan-2013 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
Makefile
backend.c
client.c
fio.c
fio.h
ioengine.h
options.c
os/os-linux.h
server.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
1f81991ed356dd7257aef2c715ba9a24d9af93a5 24-Jan-2013 Jens Axboe <axboe@kernel.dk> Fix compile warnings on Windows

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
67bf982340d95ca98098ea050b54b4c7adb116c0 10-Jan-2013 Jens Axboe <axboe@kernel.dk> Add configure script

Get rid of all the fragile guessing and checking of features,
and roll a configure script instead.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
49758e11f3658686ccd1c61724a5eba142f3ee4f 03-Dec-2012 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio

Conflicts:
Makefile
fio.h
io_u.c
ioengine.h
memory.c

Signed-off-by: Jens Axboe <axboe@kernel.dk>
842805f55b6dd021edbb5259a775c148ef18fa9c 01-Dec-2012 Steven Noonan <snoonan@amazon.com> engines/net.c: fix compilation error due to missing signal.h include

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>
/external/fio/engines/net.c
36d80bc7c7f7fbc2612941b7dd7ceaf645798c7f 30-Nov-2012 Jens Axboe <axboe@kernel.dk> Wire up SIGUSR2 to kill blocking threads

Get rid of io engine ops SIGTERM flag, it didn't really
work.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
0cae16ffe3e4ca17cdb88fe64d357b7cde643f6a 30-Nov-2012 Jens Axboe <axboe@kernel.dk> net: fix receiver start time

Reset epoch/start time to when we get a connection.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
6f73a7f8e2498f96aeb3df6cefba2496e17aad77 30-Nov-2012 Jens Axboe <axboe@kernel.dk> net: add basic ping/pong type workload support

If you use ioengine=net and then set pingpong=1, fio will operate
in a ping pong type fashion. When the reader receives a package
from the writer, it will return the package to the writer again.
The writer, in turn, will wait for this package before writing
a new package. This makes fio useful for roundrobin measurements
on networks.

The submission latency then measures how long it took to submit
a packet to the local system, while the completion latency is how
long it takes for the package to be received and returned by
the other end.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
b96d243044023b28731341d290943b5d47a5f794 30-Nov-2012 Jens Axboe <axboe@kernel.dk> net: sent udp open messages

The receiver goes directly into recvfrom() when it starts up,
which greatly skews the first submission latency (since it's
measure from when it enters recvfrom() and until we finally
get the first packet from the client). Add a file open
handshake to avoid this issue.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
859088d3939ce6eccfc59a0d5559922e29e58a47 29-Nov-2012 Jens Axboe <axboe@kernel.dk> net: set runstate to SETTING_UP while waiting for a connection

Otherwise the status print thinks it's running, and displays
bad stats.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
7d988f68c7f0ff6bd4c9e558c4defbd9a544b167 29-Nov-2012 Jens Axboe <axboe@kernel.dk> net: exit on WAITALL and !ret

Otherwise we can loop forever if the other end hung up.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
166dce4bdf2573a1641c1de5243e2465b190f0dd 29-Nov-2012 Jens Axboe <axboe@kernel.dk> net: fix segfault with receiver, tcp, and no hostname set

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
f681d0bac9c42e5d6bcb3601d2f3cfaa1c2cefb4 11-Oct-2012 Jens Axboe <axboe@kernel.dk> Merge branch 'master' into gfio
3f457bea08a6bd60d99950c59c5432b8e78c69e2 10-Oct-2012 Bruce Cran <bruce@cran.org.uk> fio patch: Windows netio fixes

Jens,

I've attached a patch to fix netio on Windows:

Add call to WSAStartup() to engines\net.c.
Fix NULL dereference in poll().
Add inet_aton().

--
Bruce Cran

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
f5cc3d0ea8acf13c8e722da6c2d485889968d132 10-Oct-2012 Bruce Cran <bruce@cran.org.uk> Fix UDP acronym

It's 'User', not 'Unreliable'.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
e8b0e958cd219cabb1154e2b06036863a7d6dbd7 19-Mar-2012 Jens Axboe <axboe@kernel.dk> gfio: improve option edit

Allow grouping of options into both categories, and groups. The
groups are within a category. This shrinks down the number of
job edit tabs a lot.

Work in progress...

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
e231bbe64fffda2090b74941efe21d9c0013cd1e 16-Mar-2012 Jens Axboe <axboe@kernel.dk> Add FIO_OPT_G_IO_ENG category

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
9b9860651274cfb6e5a367b653e0d465bd89344f 19-Dec-2011 Jens Axboe <axboe@kernel.dk> Fix segfault with net io engine and no file/hostname given

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
991802b8a8857c3e8b8d54ae5b0dda589369fec1 19-Dec-2011 Yufei Ren <renyufei83@gmail.com> fix net engine client read server write bug

The net engine was updated with specific 'listen' parameter which used
for identifying whether it is a tcp server, instead of previous
'rw=read' side must be the server. This let fio support bi-direction
net io test. fio_netio_open_file() has to follow this
principle. Otherwise, the following tcp client 'rw=read' and tcp
server 'rw=write' case doesn't work.

[global]
ioengine=net
port=8888
protocol=tcp
bs=4k
size=10g

[server]
listen
rw=write

[client]
hostname=localhost
startdelay=1
rw=read

BTW, examples/netio needs 'listen' and 'hostname' adjusted.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
de890a1e48d40238dac69f302708dde8719de240 09-Nov-2011 Steven Lang <tirea@google.com> Private parameters for ioengines

Here is the polished version of the engine private options patch. As
discussed, the global section only ever tracks the private options for
the globally defined ioengine. For command line parameters, the
ioengine must be selected before any private options are used. (IE
--ioengine=libaio --userspace_reap will work, but --userspace_reap
--ioengine=libaio will not.)

The userspace_reap option from libaio has been moved over to this new
option method, usage should be identical to before.
The net ioengine has been modified to use parameters, with hostname,
port, protocol and listen defined as ioengine private parameters. The
old style of hostname=host,port,protocol no longer works, so usage
will need to be updated. (It will spit out an error that should be
clear enough that it changed if this is tried.) Also, with the new
way for specifying parameters, the net IO engine now allows data to
flow in either direction on TCP connections, regardless of which end
initiates the connection.

There's also a new command line argument --enghelp which can be used
to get help on ioengine private parameters, similar to --cmdhelp.
With no argument, it lists all built-in ioengine. The argument is an
ioengine name (Or path to .so) and optionally a comma followed by a
command name, which behaves identically to --cmdhelp.

For ioengine authorship, if options are supplied, both the options
structure and the size of the storage needed must be supplied, and the
storage must be large enough to hold a pointer to struct thread_data;
that is because the options callback doesn't explicitly have a pointer
to the thread data (Normally it relies on the fact that the options
struct is the start of the thread data), so the offset 0 of the struct
must point to the thread data, and is filled in automatically. (This
also neatly provides a guarantee that offset 0 is reserved in the
options data, so it can be safely used as a test of undefined.)

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
b94cba47cfdf96e72ec894080b3a7bf645a86e9c 06-Oct-2011 Jens Axboe <axboe@kernel.dk> Remember to close sockets on error

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
0fd666bf0d5fc373f28b1b43d1df817f8ec89605 06-Oct-2011 Jens Axboe <axboe@kernel.dk> net: support for unix domain sockets

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
5ba13ea6968cf2773f10d34376afe28ef81aeee5 04-Oct-2011 Jens Axboe <axboe@kernel.dk> Add fio_socklen_t

HPUX decides to be different yet again, add an OS typedef
to handle this instead of ifdefs in the code.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
/external/fio/engines/net.c
d48a9799a3d3cbe3c41658d6e41d6791b33e926c 09-Jul-2011 Jens Axboe <jaxboe@fusionio.com> A few HP-UX fixes

Enable posixaio and net IO engine

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/engines/net.c
03e20d687566753b90383571e5e152c5142bdffd 02-Jan-2011 Bruce Cran <bruce@cran.org.uk> First snapshot of FIO for Windows

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/engines/net.c
8e239cae8aae89f07a885ffcc985600ce9c65d5d 11-Aug-2010 Jens Axboe <jaxboe@fusionio.com> Cleanup MSG_DONTWAIT

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/engines/net.c
f5886fef7eb0c44ec854d00a70acc0dfc4975efa 11-Aug-2010 Cigy Cyriac <CCyriac@fusionio.com> Not all platforms have MSG_DONTWAIT

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/external/fio/engines/net.c
9c0d224129b0c59698e4c77e7fed00dc8cbb50e1 01-Jul-2009 Jens Axboe <jens.axboe@oracle.com> Don't allow pre_read on IO engines that cannot seek

We cannot pre-read files, if we cannot seek back and read the same
data again. So just disable it with a warning to the user.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
62b38926a8f02a03534813fc80e73e5e169bf03e 11-May-2009 Jens Axboe <jens.axboe@oracle.com> net engine: fix compilation warnings on Solaris

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
664fb3bde9ed3b61d0520b6b4f3d0ba9599834b0 19-Jan-2009 Jens Axboe <jens.axboe@oracle.com> net engine: notify receiver of UDP link close

Also optimize the send/receive path, only use poll() if the non-blocking
send/recv returned EAGAIN.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
d5b388a560783a61af7b424757bc6dead2309c28 19-Jan-2009 Jens Axboe <jens.axboe@oracle.com> net engine: termination fixes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
35651820abe54473964cc1832fdfe23d7af3209a 19-Jan-2009 Jens Axboe <jens.axboe@oracle.com> net engine: don't pass in flags

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
371d456c48b73c8a424e4c807c511fc891a38e7d 19-Jan-2009 Jens Axboe <jens.axboe@oracle.com> net engine: use poll() always for sending/receiving

Avoids getting stuck waiting for data and not accepting signals.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
3f8fc5ad7d36fa171559e7b94b0fd211ba2a4561 16-Jan-2009 Jens Axboe <jens.axboe@oracle.com> net engine: accept both upper and lowercase tcp/udp.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
414c2a3e741bb7dd7147ce6843f529c7773cea38 16-Jan-2009 Jens Axboe <jens.axboe@oracle.com> net engine: add UDP support

The filename= option now accepts a third parameter designating the
protocol type, udp or tcp.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
7292056a38857ded6f7a64f11d14d642772c31bd 02-Jun-2008 Jens Axboe <jens.axboe@oracle.com> net engine: missing includes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
af8771b9b91eb2cd23a40aaa729bad4f78acb928 30-May-2008 Jens Axboe <jens.axboe@oracle.com> errno is not negative

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
2992b059b8f54ac91e723a8bde629b4d8fed513e 30-May-2008 Jens Axboe <jens.axboe@oracle.com> close_ioengine() clears ->data after calling engine cleanup

Then we can remove that bit from io engines.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
5921e80c5dfc9f96d2f21da6ae58f2b5d3a0b373 30-May-2008 Jens Axboe <jens.axboe@oracle.com> Make it work on opensolaris

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
443662efa60d9082bc820641e7d1d31dd58d3ae1 30-May-2008 Jens Axboe <jens.axboe@oracle.com> net engine: improve host/port parsing

It was too relaxed before.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
28cfeb6851703cf12b54b3a06bf3ff611198933e 03-Mar-2008 Jens Axboe <jens.axboe@oracle.com> Remove debug printf() in net engine

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
f85ac25a7d5c9d5ba4d5c73363a6a2a461a9b013 01-Mar-2008 Jens Axboe <jens.axboe@oracle.com> Remove the file->last_completed_pos variable

This tracks where we last did IO to this file, however with file
sharing that may break. So just remove this optimization, it'll
cost an extra lseek() for the sync engine but doesn't do much else
outside of that.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
ad830ed7386eff264bdb5189675d6dfa672bd16b 18-Feb-2008 Jens Axboe <jens.axboe@oracle.com> Add FIO_SIGQUIT engine option

For network engines, we need a signal to make it abort the connection
if it isn't already running. Otherwise fio would just stall on ctrl-c
before the connection was established.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
7101d9c24abec4be58a086d85d6d92ec6e6492e9 12-Sep-2007 Jens Axboe <jens.axboe@oracle.com> Full readonly check

Both in core and in engines. To the extent possible, this should catch
even fio errors.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
dc372f07b450e3b4c758d7a7fdaaca6c21843398 26-Jul-2007 Jens Axboe <jens.axboe@oracle.com> Missed FIO_UNIDIR io ops flags on net engine

Inadvertenly only set it on the netsplice engine, not net.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
b67740d3620aee7c753987cdcf750fa28d871fcf 26-Jul-2007 Jens Axboe <jens.axboe@oracle.com> IO verification improvements

- Add a FIO_UNIDIR io ops flag. This like networked IO can't be read/write,
so verify only makes sense for data summed by another writer.
- Allow a read workload to verify previously written data.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
cd963e18de21e08ebb2ed86366f07347b4c58e3d 24-Jun-2007 Jens Axboe <jens.axboe@oracle.com> net engine: cleanup the splice handling

The splice and vmsplice bits were largely duplicated, so abstract
the stuff out so it's clearer to see what is going on.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
64b24cd8a5ea87bccec60e0236d93071480201e7 24-Jun-2007 Jens Axboe <jens.axboe@oracle.com> net engine: fix listenfd/pipe fd leaks

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
4d94c275d2344b9231d9dc4585bd42b8e9fb7794 22-Jun-2007 Jens Axboe <jens.axboe@oracle.com> netsplice: use zero-copy if possible

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
f657a2fbbb0deaf455edc478d73b664929bcb766 22-Jun-2007 Jens Axboe <jens.axboe@oracle.com> netsplice: fix a few typos

It actually works now.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
9cce02e89e01984a5bf58e730fb9311dc5273554 22-Jun-2007 Jens Axboe <jens.axboe@oracle.com> Support for 'netsplice' engine

This IO engine does network transfers, but uses splice() to move data
to/from a socket to a pipe and vmsplice() to move that data to/from
user space.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
16d55aae770b8b1a966d4b4a814918ce49a76ba3 22-May-2007 Jens Axboe <jens.axboe@oracle.com> Fix bug with random IO and network connections

It isn't a supported configuration.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
07eb79dfa0e3801875d1c2907cfdb5da7c9d2cb3 12-Apr-2007 Jens Axboe <jens.axboe@oracle.com> Put the ->real_file_size handling into fio

Then we can remove it from the io engines, where the disk-less IO
engines provided a ->setup() hook just to set that.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
f4e62a5f3640dfe2d2119bbe1e40bf57747f6564 11-Apr-2007 Jens Axboe <jens.axboe@oracle.com> For non-file engines, set ->real_file_size if total size is known

Fixes a segfault with rand* directions.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
317b95d07d4921d2594a1be6e014c9c2d062fe75 02-Apr-2007 Jens Axboe <jens.axboe@oracle.com> Move os/arch/compiler headers into directories

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
7bb48f84ac78cac1f90e3e04d0220d90d6a64a6b 27-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Revamp the file creation code

This was long overdue, it's much simpler now and hopefully
less bug prone. Probably a few stray bugs here and there
that needs straightening out, but the end result should
be a lot better.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
2dc1bbeb58edc85f2829eed6729862c438ea2353 15-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Move thread options into a seperate structure

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
6d86144dd10b05e8b82e9b895c35dd778e5e71ab 15-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Use log_info() throughout

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
da751ca9665bcdeca56d2eec5b629a0953c07662 14-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Update io engine comments

Some were plain wrong, mainly because they were born through
copying an existing engine.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
9f9214f243701626a04b4a0f9aceec03b8b40e0f 13-Mar-2007 Jens Axboe <jens.axboe@oracle.com> nr_files conflict with filename

If nr_files is larger than the given number of files, it has
to be lowered. Assume that if the user gives a set of filenames
that this is the number he wants, otherwise he should use not
use a filename setting.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
af52b3455ad892322aab2791282b6bd4efdfdbf3 13-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Allow explicit setting of a number of files

We currently only allow filename=foo for one file, add the possibility
to specify any number of files by seperating with a colon.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
d16b88e20152be4d811ed2e0051f0b19cce1d5bf 08-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Engines should not touch nr_open_files anymore

Leftover fix, should have been included with the ->open_file()
addition.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
b5af82930ccfd7dda6a1b11794efb452eb76d8dc 08-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Revamp file open/close handling

Some IO engines need special handling for opening and closing
files, and this has complicated the fio filesetup.c file. Instead
have the io engine provide hooks for file open/close. This also
greatly cleans up the flags (we can get rid of SELFOPEN and MMAPIO)
and moves private knowledge into the engines where it belongs.

This potentially destabilizes fio somewhat, so testing is needed.
The new openfiles option that is introduced with this change isn't
verified working yet, hence it isn't documented.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
9bec88e15aad76c16ac65048270ecac8b5956a61 02-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Net engine: move connection setup into ->init()

Then it happens in the process own context, which means we can
define full send/receive jobs in a single job file and run them
from a single fio instance.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
b58cf3dc6945d661bd5c40c0856a99e0f9c8a9e6 02-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Net engine: missing ->nr_open_files for clients

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
4f45320a29179d802073b392fd7e10bf0975d6bc 02-Mar-2007 Jens Axboe <jens.axboe@oracle.com> Net engine: need to set ->nr_open_files

It is marked as SELFOPEN, so it opens it's own files. So it also
needs to increment the open file count as well.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
a9defc9abb4a3013335d3aeeb132fd90900cac85 01-Mar-2007 Joel Becker <joel.becker@oracle.com> [PATCH] ioengine flags: Replace FIO_NETIO with real flags that map the
behavior

The FIO_NETIO ioengine flag created two behaviors. First, open_files()
would not open any files - this was handled in engines/net:setup().
Second, init_disk_util() would ignore the files and not try to locate
their disk.

Other engines might want one of these behaviors but not the other. If
an engine opens its own files, it doesn't want open_files() to do anything,
even if the files are eventually disk-based. An engine might want to
prevent init_disk_util() from running.

The FIO_NETIO flag is split into two flags.

FIO_SELFOPEN states that the engine will do its own open(), whether it
is a real open(2) or something internal to the engine.

FIO_DISKLESSIO states that init_disk_util() is should not be run. fio
should treat the engine's files as if they are not part of a disk.

Finally, engines/net.c is changed to use these two flags.

Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
413dd459a7710ba421061e840dd9ac3161c70f20 23-Feb-2007 Jens Axboe <jens.axboe@oracle.com> Streamline thread_data data direction setting and checking

Currently it's a mess of ->ddir, ->iomix and ->sequential. Add
a TD_DDIR_* for each of these, so we can store them as one value.

A prerequisite for the next parsing cleanup.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
e1161c325f7866bae879e686d1c673ca32ab09ae 22-Feb-2007 Jens Axboe <jens.axboe@oracle.com> Add more context to the error messages

Errors like:

fio: pid=0, err=22/file:filesetup.c:380, error=Invalid argument

do not give a lot of clue as to what is wrong, unless you
have a matching source. So add a context relevant info
message as well.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
22819ec237297fc39435ed566bee01a4225bfb39 18-Feb-2007 Jens Axboe <jens.axboe@oracle.com> Unify and fixup error handling

First step in getting ->queue() and ->getevents() handled in
a more sane fashion.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
36167d82e5f49dee91c6d2cd426068edee90e36f 18-Feb-2007 Jens Axboe <jens.axboe@oracle.com> Change IO engine queuing

Instead of always pretending to be async, let the IO engines
return FIO_Q_COMPLETED or FIO_Q_QUEUED to signal async or
sync completions regardless of their nature. This cleans up
the queuing model quite a bit.

Also fixed a verification error spotted while doing this
transformation.

The main intent of this is to allow queuing more than 1 piece
of IO at the time, that will come in a later changeset.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
0c09442b26216aed16f758712f744a2c54726cdb 11-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Network engine poll() paranoia

A little defensive programming never hurt anyone.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
5fdd124a3b811993542825847f207587d5f4661e 11-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Make ctrl-c work with network io and accept loop

We don't get SIGINT breaking accept(), so use poll() to poll
for incoming connects.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
95bcd815e5ce55d6cdd8eb83bda5ee411f37bdc9 11-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Move td_verror() into io_ops->queue() hook

Shows where the error occured, not where it got noticed.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
85eb1d4492ab4ee961b2a2276192298b2009584f 09-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Net engine typo

READ -> DDIR_READ

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
d4f12dd05cfb2e8e7a72604cd870e10f2394914e 08-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Network engine cleanups and comments

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
6bedbfafcffbc7202b5bb621ac5886aafdc0f362 07-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Network engine fixes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
7a6499dada619928267d26b4629b0c8623dc423a 07-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Network io engine updates

- Use recv/send
- Set MSG_MORE on send if we are going to transmit more data
- Cleanups

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
cec6b55da1c282b5b91ad346c7804171fccf151e 06-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Support residual io counts from io engines

We need this for requeuing support, the network engine makes this
pretty apparent (it's not unusual to see short tranfers there).

Basically we add an xfer_buf and xfer_buflen member to the io_u,
and these are the fields that the io engine MUST use. That allows
fio to increment and reset these appropriately, and simply requeue
the io_u for service of the next part of it.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
2fc2698113c087352c1851bf5ebfcad6adb53932 06-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Support for > 1 network connection

Now the net ioengine also supports the nrfiles option to open
multiple connections.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
e01547d2b8bf79c3abe14e03c72398cf8998eb1e 06-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Network engine updates

A few comments, pass down port short instead of buffer.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c
ed92ac0ce9ce1cc64697272d307d4fa7d18ed64c 06-Feb-2007 Jens Axboe <jens.axboe@oracle.com> [PATCH] Simple support for networked IO

Adds a new ioengine, net. Use with ioengine=net, it supports only strict
reading or writing (no mixed reads/writes) to/from a single host.
The filename given must contain the host and port to connect to (or
listen from).

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/external/fio/engines/net.c