lkml.org 
[lkml]   [2013]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] bounce:fix bug, avoid to flush dcache on slab page from jbd2.
On Wed, 13 Mar 2013 11:35:15 +0800 Shuge <shugelinux@gmail.com> wrote:

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

Please reread my email. The page at b_frozen_data was allocated with
GFP_NOFS. Hence it should not need bounce treatment (if arm is
anything like x86).

And yet it *did* receive bounce treatment. Why?


\
 
 \ /
  Last update: 2013-03-13 06:01    [W:0.165 / U:1.504 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site