On Sat, 5 Jan 2013 11:28:31 -0800 Laura Abbott <lauraa@xxxxxxxxxxxxxx> 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? -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html