[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <50EDAD51.4010803@codeaurora.org>
Date: Wed, 09 Jan 2013 09:48:01 -0800
From: Laura Abbott <lauraa@...eaurora.org>
To: Andrew Morton <akpm@...ux-foundation.org>
CC: Mel Gorman <mgorman@...e.de>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org
Subject: Re: [RESEND][PATCH v3] mm: Use aligned zone start for pfn_to_bitidx
calculation
On 1/7/2013 2:31 PM, Andrew Morton wrote:
> On Sat, 5 Jan 2013 11:28:31 -0800
> Laura Abbott <lauraa@...eaurora.org> wrote:
>
>> The current calculation in pfn_to_bitidx assumes that
>> (pfn - zone->zone_start_pfn) >> pageblock_order will return the
>> same bit for all pfn in a pageblock. If zone_start_pfn is not
>> aligned to pageblock_nr_pages, this may not always be correct.
>>
>> Consider the following with pageblock order = 10, zone start 2MB:
>>
>> pfn | pfn - zone start | (pfn - zone start) >> page block order
>> ----------------------------------------------------------------
>> 0x26000 | 0x25e00 | 0x97
>> 0x26100 | 0x25f00 | 0x97
>> 0x26200 | 0x26000 | 0x98
>> 0x26300 | 0x26100 | 0x98
>>
>> This means that calling {get,set}_pageblock_migratetype on a single
>> page will not set the migratetype for the full block. Fix this by
>> rounding down zone_start_pfn when doing the bitidx calculation.
>
> What are the user-visible effects of this bug?
>
For our use case, the effects were mostly tied to the fact that CMA
allocations would either take a long time or fail to happen on on.
Depending on the driver using CMA, this could result in anything from
visual glitches to application failures.
I'm not sure about effect outside of CMA.
Laura
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists