On Thu, Aug 13, 2009 at 04:44:18PM -0500, Seth Forshee wrote: > On Thu, Aug 13, 2009 at 01:50:47PM -0700, Travis Geiselbrecht wrote: > > > I've seen something like this with the block bounce enabled on another > > processor on 2.6.29. Problem is it doesn't flush when copying to/from > > the bounce buffer. > > > > This patch from 2.6.31 seems to fix it, might be worth a try: > > > > The only thing that might be worth adding is > > cache_is_vipt_nonaliasing() if you're running an arm11 with 16K cache. > > For the purposes of icache coherency at least it'd be required for > > pretty much all cache variants. > > Thanks for this. I had been looking at sg_copy_buffer() a little bit > and was suspecting that missing flush might be to blame. I guess it > probably works okay as-is for the page cache because, as I understand > it, the page cache uses the kernel's static mappings. I'll try this > patch out after I have a chance to confirm that disabling the bounce > buffer gets the O_DIRECT writes working.
I got a chance to test these, and I still see the problem with MMC_BLOCK_BOUNCE disabled and with the suggested patch applied (and with both applied to my kernel for that matter). Looks like the copy to the bounce buffer isn't to blame. --~--~---------~--~----~------------~-------~--~----~ unsubscribe: android-kernel+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-kernel -~----------~----~----~----~------~----~------~--~---