Messages in this thread | | | Date | Mon, 25 Feb 2002 13:32:26 -0500 | From | Benjamin LaHaise <> | Subject | Re: [PATCH] __free_pages_ok oops |
| |
On Thu, Feb 14, 2002 at 08:27:36AM -0800, Linus Torvalds wrote: > I'd really really hate to have the IO make pages go away from irq context > in 2.5.x too. I think async IO should always be started and cleaned up in > a user context - there simply isn't any reason not to (the notion of doing > an exit() or execve() with IO still pending to now-dead-memory is rather > horrible in itself).
I disagree: requiring aio to execute completion in user context means that we can no longer have quick completion directly from an interrupt handler to a busy server executing in userland.
That said, it is possible to do the same partial completion as is done with file descriptors from interrupt context for pages, but it'll be *really* gross. Freeing pages should be possible from any context IMO.
> > I think the foundamental design mistake that leads to __free_pages to > > fail from irq, is that we allow an anonymous page to reach count 0 and to be > > still in the LRU (the count == 0 check in shrink_cache is the other side > > of the hack too). That's the real BUG, that breaks subtly the freelist > > semantics > > Agreed. We should NEVER free the pages from the irq.
Uhm, what about the network stack?
-ben - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |