Re: [PATCH] bounce:fix bug, avoid to flush dcache on slab page fromjbd2.

From: Shuge
Date: Tue Mar 12 2013 - 23:36:20 EST


Hi all
The bounce accept slab pages from jbd2, and flush dcache on them.
When enabling VM_DEBUG, it will tigger VM_BUG_ON in page_mapping().
So, check PageSlab to avoid it in __blk_queue_bounce().

Bug URL: http://lkml.org/lkml/2013/3/7/56

...

......

That sure is strange. I didn't see any obvious reasons why we'd end up with a

......

Well, this problem not only appear in arm64, but also arm32. And my kernel version is 3.3.0, arch is arm32.
Following the newest kernel, the problem shoulde be exist.
I agree with Darrick's modification. Hum, if CONFIG_NEED_BOUNCE_POOL is not set, it also flush dcahce on
the pages of b_frozen_data, some of them are allocated by kmem_cache_alloc.
As we know, jbd2_alloc allocate a buffer from jbd2_xk slab pool, when the size is smaller than PAGE_SIZE.
The b_frozen_data is not mapped to usrspace, not aliasing cache. It cat be lazy flush or other. Is it right?

--
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/