Date: Tue, 13 Mar 2001 18:46:54 -0700 From: "Kenneth D. Merry" <ken@kdm.org> To: Rohit Rakshe <rakshe@cs.umn.edu> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Copying user <---> kernel Message-ID: <20010313184654.A92223@panzer.kdm.org> In-Reply-To: <Pine.GSO.4.31.0103131919190.21506-100000@mercury.cs.umn.edu>; from rakshe@cs.umn.edu on Tue, Mar 13, 2001 at 07:41:50PM -0600 References: <Pine.GSO.4.31.0103131919190.21506-100000@mercury.cs.umn.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 13, 2001 at 19:41:50 -0600, Rohit Rakshe wrote: > Hello, > > I am sure people have thought about this one, but just that I could not > find any discussions about it: > > Consider a server which receives data over network, does some operations > on the data and sends it back over the network. The kernel could spent > most of its time copying data to and from user space. (the operations are > performed in the user space). > > The following can be done to avoid this overhead: > > Say, I want to copy a page from user space to kernel, I can just pin it in > physical memory; then attach it to kernel page table. (similar thing for > other way round). > > Is this kinda thing implemented ? If not, is it feasible ? Yes, it has been done. See: http://people.FreeBSD.org/~ken/zero_copy/ The version of the patches linked off the page isn't the latest, the latest is here: http://people.FreeBSD.org/~ken/zero_copy/zero_copy.diffs.20010124 Those diffs are against -current as of January 24th. I can probably supply diffs against a newer version of -current if you need 'em. The NFS code isn't ready for prime time, I need to rip that out and clean up some mutex issues before the code can go into -current. Ken -- Kenneth Merry ken@kdm.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010313184654.A92223>