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

From: David S. Miller
Date: Fri Aug 22 2003 - 11:49:59 EST


On Fri, 22 Aug 2003 17:34:29 +0100
Matthew Wilcox <willy@xxxxxxxxxx> wrote:

> On Fri, Aug 22, 2003 at 09:14:47AM -0700, David S. Miller wrote:
> > On 22 Aug 2003 09:40:37 -0500
> > flush_dcache_page() checks both the shared and non-shared mmap lists,
> > so if it is on _either_ list it is flushed. It does not check only
> > the shared list.
>
> Gah, that's going to get really inefficient. I still think we want to
> split flush_dcache_page() into two operations -- flush_dcache_user() and
> flush_dcache_kernel(). flush_dcache_user() would flush this specific
> user mapping back to ram and flush_dcache_kernel() would flush the
> kernel mapping. Obviously we'd still want to have flush_dcache_page()
> as there are instances when you want to flush all user mappings and the
> kernel mapping back to ram.

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.

> > 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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/