On Thu, 10 Dec 2009 16:00:18 -0600 James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote: > Actually, I think only sparc and mips need it. How I can know this exactly? > It's only needed for an > aliasing architecture. Next, it's only used for pio drivers, so if the > platform never uses a pio driver, it can get away without having this > (that's the sparc case, I think). > Unfortunately, you can't do it at the bio level. The reason is the > kmap/kunmap. On a highmem system the mapping disappears after kunmap, > so you have to flush before you lose the mapping ... that means right in > the guts of the driver where it's doing the kmap/copy/kunmap. > > Sounds like aio does have the issue, yes. If you grep the kernel for > flush_kernel_dcache_pages(), you'll see that a lot of PIO drivers are > already using this, so there's not a lot of conversion to be done. I will write my seeing of current stage. Please correct me. All mtd drivers and aio works correctly(about flushes). But there is a lot of waste work on some architecrures (PA-RISC as example). It is bad. We want to add flush_kernel_dcache_page() in MIPS(and may be SPARC and other archs) and call it after kunmap in slram driver(and in aio may be). So, we will fix the specific bug and, may be, bugs in other drivers which use flush_kernel_dcache_page which(bugs) have not been founded yet. But bugs in mtd may be will remain. -- Ilya Loginov <isloginov@xxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html