[Lustre-discuss] Is the datapath from network to disk zero copy on OSS?

Andreas Dilger adilger at Sun.COM
Sun Oct 26 01:48:51 PDT 2008

On Oct 24, 2008  08:52 -0600, Terrell, William wrote:
> I am trying to size buses and memory controller performance and wanted
> to know if the datapath from network side to SCSI side is zero copy on
> the OSS? Are the same buffers used by the network interface passed along
> to the SCSI stack for reads and writes?

It is zero-copy if you have an RDMA network, but for TCP it is only
zero-copy for buffer sending (i.e. no copy on server for reads, no copy
on client for writes).

Aside from that, the network buffers are filled directly via RDMA, and
passed down to the IO layer with bio_submit().  We patched the RAID5/6
code to avoid an extra buffer copy on RHEL4/5, and other than this
(AFAIK) there are no data copies in the IO stack except between the
application and the client kernel (which allows the client to aggregate
IO and do data read/writeback caching).

Cheers, Andreas
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.

More information about the lustre-discuss mailing list