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

Matthew Wilcox willy@debian.org
Fri, 26 Sep 2003 15:09:48 +0100

On Fri, Sep 26, 2003 at 06:21:43AM -0700, David S. Miller wrote:
> On Fri, 26 Sep 2003 14:29:01 +0100
> Matthew Wilcox <willy@debian.org> wrote:
> > On Fri, Sep 26, 2003 at 05:56:52AM -0700, David S. Miller wrote:
> > > When page->mapping is NULL, flush_dcache_page() should purge the page
> > > (by physical addres) from it's caches.  This is what sparc64 does.
> > 
> > But you can't do that on PA-RISC.  You can only purge virtual addresses.
> Then for page->mapping == NULL your flush_dcache_page() is not doing
> what it is supposed to, and you can expect problems extending further
> than this raw I/O case.

Oh, come on, Dave.  You just changed the definition of
flush_dcache_page().  You can't claim the implementation isn't doing
what it's supposed to!  The definition in cachetlb talks *only* about
page cache pages.

> 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.  Second, we already know
where it is, you just refuse to pass that information in.

"It's not Hollywood.  War is real, war is primarily not about defeat or
victory, it is about death.  I've seen thousands and thousands of dead bodies.
Do you think I want to have an academic debate on this subject?" -- Robert Fisk