On Fri, 13 Jul 2007, Arnd Bergmann wrote: > On Friday 13 July 2007, James Bottomley wrote: > > > IC. > > > > > > � - flush_kernel_dcache_page() is a no-op on ppc64 > > > � � (ARCH_HAS_FLUSH_KERNEL_DCACHE_PAGE is defined on parisc only). > > > > > > � - For reference, drivers/scsi/ipr.c (another ppc64 driver) just uses a plain > > > � � kmap/memcpy/kunmap sequence > > > > > > So what should I do? > > > > Ask someone who knows the architecture ... Anton, Paulus or Benh ... I'm > > fairly certain PPC is VIPT and will need some kind of alias > > resolution ... perhaps its associative enough not to let the aliases be > > a problem. > > I'm pretty sure that no ppc64 machine needs alias resolution in the kernel, > although some are VIPT. Last time we discussed this, Segher explained it > to me, but I don't remember which way Cell does it. IIRC, it automatically > flushes cache lines that are accessed through aliases. Thanks for confirming! > It's probably a good idea to have the flush_kernel_dcache_page() in there > anyway, if only to serve as an example for people that copy it into > architecture-independent drivers, same as what we do for the > k{,un}map_atomic() that is also not required on ppc64. Now my next question: why should I add it, if currently no single driver in mainline calls flush_kernel_dcache_page()? `git grep' finds it in the following files only: Documentation/cachetlb.txt arch/parisc/kernel/cache.c arch/parisc/kernel/pacache.S include/asm-parisc/cacheflush.h include/linux/highmem.h With kind regards, Geert Uytterhoeven Software Architect Sony Network and Software Technology Center Europe The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium Phone: +32 (0)2 700 8453 Fax: +32 (0)2 700 8622 E-mail: Geert.Uytterhoeven@xxxxxxxxxxx Internet: http://www.sony-europe.com/ Sony Network and Software Technology Center Europe A division of Sony Service Centre (Europe) N.V. Registered office: Technologielaan 7 · B-1840 Londerzeel · Belgium VAT BE 0413.825.160 · RPR Brussels Fortis Bank Zaventem · Swift GEBABEBB08A · IBAN BE39001382358619