Re: [PATCH] shmem missing cache flush

Matthew Wilcox (willy@debian.org)
Tue, 29 Oct 2002 21:52:30 +0000


On Mon, Oct 28, 2002 at 08:58:51AM -0800, David S. Miller wrote:
> From: Matthew Wilcox <willy@debian.org>
> Date: Mon, 28 Oct 2002 17:06:33 +0000
>
> On Mon, Oct 28, 2002 at 08:55:36AM -0800, David S. Miller wrote:
> > Need to go into the revision history, discover who added these
> > calls, and ask them why they were added.
>
> They're in 2.2.20, if it helps...
>
> That's not so useful, it's the who and why that matters. :-)

Well, that's kind of hard... which revision history? They were
added at some point during 2.1, before anyone but sparc64 supported
flush_dcache_page, and certainly long before cachetlb.txt was written.
Arguably, cachetlb.txt is the buggy one since it coopted this interface
without reference to the current users.

PA-RISC doesn't use a.out in any way, shape or form, so it doesn't
matter to me, but m68k might like it fixed, i guess. Why the calls are
there seems fairly straightforward -- we're effectively doing a read()
of the text segment into the process' address space, and we're about to
execute it.

So flush_icache_user_range() seems like the right thing to do there.
Except that cachetlb says it can't cross a page boundary. Maybe the
right thing to do is to change the definition of flush_icache_range in
cachetlb to indicate that the addresses are user, not kernel, addresses;
remove the flush_icache_range() in kernel/module.c and put a #error into
every arch's module_arch_init() warning them they may need to flush the
range mod to mod->size.

-- 
Revolutions do not require corporate support.
-
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/