[parisc-linux] Fwd: Problems with raw interface.

David S. Miller davem@redhat.com
Fri, 26 Sep 2003 07:20:59 -0700


On Fri, 26 Sep 2003 15:30:52 +0100
Matthew Wilcox <willy@debian.org> wrote:

> On Fri, Sep 26, 2003 at 07:04:50AM -0700, David S. Miller wrote:
> > On Fri, 26 Sep 2003 15:09:48 +0100
> > Matthew Wilcox <willy@debian.org> wrote:
> > 
> > > > You have to find a way to walk all the address spaces to figure out
> > > > where the page is mapped.
> > > 
> > > That's ridiculous.  For a start, pages can't be mapped into multiple
> > > address spaces without being in the page cache.
> > 
> > How in the world can anonymous pages work then?  Of course anonymous
> > pages can be in multiple address spaces without being in the page
> > cache.
> 
> How?  By fork()?  If so, that's not a problem -- the pages stay at the same
> address in both processes, and flushing one will flush any inherited pages.
> Otherwise you'll have to be more explicit.

Any page can be mremap()'d to any other address.

You really do have to walk all the address spaces to sufficiently
tap the page out of the caches.  Unfortunately, this is only easy
in 2.6.x :(