[parisc-linux] Re: Problems with kernel mmap (failing tst-mmap-eofsync in glibc on parisc)

Matthew Wilcox willy@debian.org
Fri, 22 Aug 2003 18:41:03 +0100


On Fri, Aug 22, 2003 at 09:39:00AM -0700, David S. Miller wrote:
> flush_dcache_page() works only on kernel pages.
> 
> It is defined to execute when the kernel executes store instructions
> into a page.
> 
> Therefore splitting it into a "user" part makes absolutely no
> sense.

Uhm.  So what happens when the user has stored into the page and now
the kernel wants to read from it?  There's still data in the cache for
the user mapping that's non-coherent with the kernel mapping.

> > > The VM_SHARED change you are proposing is definitely wrong.
> > 
> > Why is it wrong?  Why should whether-or-not a mapping is read-only affect
> > whether it's mapped shared?  I can't see anything in SuS v3 that suggests
> > we should do this.
> 
> MAP_SHARED has no meaning if the mapping isn't writable.

Sure it does.  It affects whether other writes to that page show up in
the shared read-only mapping.

-- 
"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