DragonFly BSD
DragonFly kernel List (threaded) for 2003-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: You could do worse than Mach ports

From: David Schultz <dschultz@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 18 Jul 2003 16:48:11 -0700

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.

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]