You could do worse than Mach ports

David Schultz dschultz at uclink.Berkeley.EDU
Fri Jul 18 16:48:55 PDT 2003

On Fri, Jul 18, 2003, Matthew Dillon wrote:
>     I'm not sure whether these schemes would apply to DragonFly.  There are
>     DMA issues in all UNIXes which I believe only NetBSD has solved with
>     UVM so far.  In FreeBSD vfs_busy_pages() is responsible for preventing
>     user writes to pages undergoing write I/O.  In DragonFly we will
>     eventually replace that with a COW scheme like UVM has.

I don't see why the COW scheme would be necessary.  If a user
process writes to a page undergoing I/O, it deserves whatever it
gets.  This can happen, for instance, if write(2) is invoked on a
buffer from one thread while another thread writes to the buffer.
The race is inherent, so protecting the pages and informing the VM
system that they are COW can only decrease the size of the window,
not eliminate it.  There are similar underlying assumptions for
AIO and FreeBSD's pipe implementation.

More information about the Kernel mailing list