async zero-copy read&x

Volker Lendecke Volker.Lendecke at SerNet.DE
Sun Jun 20 10:43:43 MDT 2010


Hi!

Under

http://git.samba.org/?p=vl/samba.git/.git;a=shortlog;h=refs/heads/wip

find some code that uses splice(2) to do read&x in an async
and zero-copy fashion. It fetches data from disk using one
splice call in an async fashion, and then assumes that the
splice call from the pipe to the TCP socket is just moving
around some pointers in the kernel, thus won't block. It
heavy tuning and clean-up before I will propose it, but it
might be a start for some discussion about the design and
optimizations.

One thing we could do is to use the tmembuf abstraction and
do async pread into that when for example splice(2) is not
available or if we want to do signing. I'm planning to add
some tmembuf_md5 or tmembuf_sha256 routines to do this.

Volker
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20100620/cab4ed50/attachment.pgp>


More information about the samba-technical mailing list