Interesting.  Would it be possible to get more details on this
problem?
We can shuffle pages around on the LRU from interrupts at present.
But not the address_space lists and buffer stuff.
We could remove the address_space lists and page->list altogether
with a bit of radix tree work.  I started in on that but got distracted.
mapping->clean_pages is actually obsolete now - we never walk it.  It
could be replaced with list_del_init() everywhere.
> > In fact I also don't know where the whole AIO thing sits at
> > present.  Is it all done and finished?  Is there more to come,
> > and if so, what??
> 
> There's more to come.  The bits I'm working on are running in kernel
> context mainly to simplify the copy_*_user case since we don't have
> full zero copy semantics available and coping with pinned pages is
> a challenge in a multiuser system, plus it makes reusing the existing
> networking code a lot easier.  Basically, anything that involves a
> copy of data is likely to be better implemented running in a task to
> get the priority of execution correct, whereas anything involving
> zero copy io is going to want completion from irq or bottom half
> context and hence dirty pages.  Does that make sense?
OK, thanks.  So I guess we make those locks irq-safe.  I don't
expect that would be feasible in 2.4 because of the hold times in 
truncate - it should be OK in 2.5.  I'll do the patch.
-
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/