Messages in this thread | | | Date | Thu, 19 Jul 2007 16:33:06 +0200 | From | Zoltan Menyhart <> | Subject | Re: [BUGFIX]{PATCH] flush icache on ia64 take2 |
| |
KAMEZAWA Hiroyuki wrote:
> A bit new idea. How about this ? > == > - Set PG_arch_1 if "icache is *not* coherent"
page-flags.h: * PG_arch_1 is an architecture specific page state bit. The generic code * guarantees that this bit is cleared for a page when it first is entered into * the page cache.
I do not think you can easily change it. I can agree, making nfs_readpage() call an architecture dependent service is not an easy stuff either. :-)
> - make flush_dcache_page() to be empty func. > - For Montecito, add kmap_atomic(). This function just set PG_arch1.
kmap_atomic() is used at several places. Do you want to set PG_arch1, everywhere kmap_atomic() is called?
> Then, "the page which is copied by the kernel" is marked as "not icache coherent page" > - icache_flush_page() just flushes a page which has PG_arch_1. > - Anonymous page is always has PG_arch_1. Tkae care of Copy-On-Write.
You can allocate (even in user mode) an anonymous page, hand-create or read() in some code from a file, and mprotect(...., EXEC)-it. The page has to become I-cache coherent.
I am not sure I can really understand your proposal. I cannot see how the compatibility to the existing code is made sure.
Thanks,
Zoltan - 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/
| |