netsplice failed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm evaluating 'netsplice' engine of fio. 'netsplice' works fine via
localhost connection. Through the connection between two host,
however, receiver side failed with the following error in both kernel
2.6.32 and 3.4.3.

fio: pid=4848, err=5/file:backend.c:638, func=full resid,
error=Input/output error

Testbed 1 - fedora 17: $ uname -r
3.4.3-1.fc17.x86_64

Testbed 2 - centos 6.3: $ uname -r
2.6.32-279.5.2.el6.x86_64

Sender jobfile:

$ cat netio
[global]
ioengine=netsplice
port=8888
protocol=tcp
bs=4k
size=10g

[sender]
hostname=192.168.101.9
startdelay=1
rw=write

Receiver jobfile:

$ cat netio
[global]
ioengine=netsplice
port=8888
protocol=tcp
bs=4k
size=10g

[receiver]
listen
rw=read


The receiver side involves splice and vmsplice for each io_u. First,
it splice data from socket to pipe. Second, it vmsplice data from pipe
to memory. I added some debug infomation, then found out that vmsplice
would return '0' once the size of io_u data is not page alignment(4K).

io       5542  queue: io_u 0xf24700: off=0/len=4096/ddir=0/receiver.1.0
net      5542  splice io_u 4096 bytes -- splice 4K bytes from socket to pipe
net      5542  vmsplice 446 bytes -- vmsplice 446 bytes from pipe to memory
net      5542  vmsplice 0 bytes -- vmsplice(3650 bytes) return '0'
io       5542  requeue 0xf24700
io       5542  io_u_queued_completed: min=1
io       5542  getevents: 0
io       5542  prep: io_u 0xf24700: off=446/len=4096/ddir=0/receiver.1.0
io       5542  ->prep(0xf24700)=0
io       5542  queue: io_u 0xf24700: off=446/len=4096/ddir=0/receiver.1.0
net      5542  splice io_u 3650 bytes
net      5542  vmsplice 0 bytes -- vmsplice(3650 bytes) return '0'
file     5542  put file receiver.1.0, ref=2
io       5542  io_u_queued_completed: min=0
io       5542  getevents: 0
fio: pid=5542, err=5/file:backend.c:638, func=full resid,
error=Input/output error
file     5542  close files


Any idea about this problem?

Thanks
Yufei
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux