[linux-cifs-client] cifs_readpages improvements

Kirill Kuvaldin kirill.kuvaldin at gmail.com
Sat Jun 23 13:16:28 GMT 2007


Hello Steve,

I've started working on the summer project a while ago. I'm currently
investigating CIFS read performance. Recently I've done a patch for
adding asynchronous read support for the cifs_readpages operation.
I'll post the patch for review to the mailing list soon.

I'm currently testing changes in my setup, where the samba server
(3.0.24) runs on a linux box and the cifs client runs in a qemu
virtual machine running on the same box, the networking is emulated by
the tun/tap driver (that gives about 70-80Mbit/sec throughput
according to the iperf benchmark).
I don't have another linux machine yet to conduct a decent performance
analysis (e.g. over GigE).

With these asynchronous changes, CIFS is generally doing something
better (even in my setup), see the graphs below. I've been running
iozone using the following command:
iozone -azc -U /cifs -f /cifs/iozone_data -s 32m -i 0 -i 1

rsize=16k:
http://epsmu.com/~kuvkir/cifs/benchmarks/cifs_read_rsize_16k.png

rsize=32k:
http://epsmu.com/~kuvkir/cifs/benchmarks/cifs_read_rsize_32k.png

rsize=64k:
http://epsmu.com/~kuvkir/cifs/benchmarks/cifs_read_rsize_64k.png

rsize=127k:
http://epsmu.com/~kuvkir/cifs/benchmarks/cifs_read_rsize_127k.png

The performance difference  between the sync and async version is not
significant enough though. I anticipate to see more performance gains
in the gigabit ethernet setup.


Kirill


More information about the linux-cifs-client mailing list