lkml.org 
[lkml]   [2001]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PLEASE-TESTME] Zerocopy networking patch, 2.4.0-1
   From: Trond Myklebust <trond.myklebust@fys.uio.no>
Date: 09 Jan 2001 14:52:40 +0100

I don't really want to be chiming in with another 'make it a kiobuf',
but given that you already have written 'do_tcp_sendpages()' why did
you make sock->ops->sendpage() take the single page as an argument
rather than just have it take the 'struct page **'?

It was like that to begin with. But to do it cleanly you have to pass
in not a vector of "pages" but a vector of "page+offset+len" triplets.

Linus hated it, and I understood why, so I reverted the API to be
single page based.

I would have thought one of the main interests of doing something
like this would be to allow us to speed up large writes to the
socket for ncpfs/knfsd/nfs/smbfs/...

This is what TCP_CORK/MSG_MORE et al. are all for, things get
coalesced perfectly. Sending in a vector of pages seems nice, but
none of the page cache infrastructure works like this, all of the core
routines work on a page at a time. It actually simplifies a lot.

The writepage interface optimizes large file writes to a socket just
fine.

Later,
David S. Miller
davem@redhat.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:28    [W:0.180 / U:8.316 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site