p_vmspace in syscall

Nicolas Cormier n.cormier at gmail.com
Wed Jul 4 13:48:40 UTC 2007


On 7/4/07, Robert Watson <rwatson at freebsd.org> wrote:
> What do you mean by a network allocator?  How do you plan to use these pages?

First I just want to access a local copy of a distant buffer.
After the goal is to share memory between hosts (no concurrent access).

> If you haven't already, you should look at the zero-copy socket code in
> uipc_cow.c.  The main criticism of this approach has been that it uses
> copy-on-write, leading to potential IPIs for VM shootdowns, etc.  An
> alternative, more along the lines of IO-Lite, would be to allow user space to
> explicitly abandon the page on send, then map a new page to replace it.  In
> which case you might consider a variation on the send system call that accepts
> only page-aligned arguments and has the effect of unmapping the pages that are
> sent.  In neither case, on the transmit side, does this require an
> modification to the kernel memory allocator.
>
> The receive side has always been more tricky to deal with...
>

Ok I will take a look at uipc_cow.c,
Thank you
-- 
Nicolas Cormier


More information about the freebsd-hackers mailing list