Messages in this thread | | | Date | Tue, 29 Oct 2002 21:52:30 +0000 | From | Matthew Wilcox <> | Subject | Re: [PATCH] shmem missing cache flush |
| |
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/
| |