Re: [patch][9/9] block: remove bio walking

From: Jens Axboe
Date: Thu Sep 09 2004 - 10:52:59 EST


On Thu, Sep 09 2004, Russell King wrote:
> Essentially, kernel PIO writes data into the page cache, and that action
> may leave data in the CPU's caches. Since the kernels mappings may not
> be coherent with mappings in userspace, data written to the kernel
> mappings may remain in the data cache, and stale data would be visible
> to user space.
>
> There has been talk about using flush_dcache_page() to resolve
> this issue, but I'm not sure what the outcome was. Certainly
> flush_dcache_page() is supposed to be used before the data in the
> kernels page cache is read or written.

Have you ever tested bouncing on arm? It seems to be lacking a
flush_dcache_page() indeed, how does this look?

===== mm/highmem.c 1.51 vs edited =====
--- 1.51/mm/highmem.c 2004-07-29 06:58:32 +02:00
+++ edited/mm/highmem.c 2004-09-09 17:44:14 +02:00
@@ -301,6 +301,7 @@
vfrom = page_address(fromvec->bv_page) + tovec->bv_offset;

bounce_copy_vec(tovec, vfrom);
+ flush_dcache_page(tovec->bv_page);
}
}


--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/