This repository has been archived on 2026-03-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
ubports_kernel_google_msm/mm
Laura Abbott 3c2b534580 mm: Use aligned zone start for pfn_to_bitidx calculation
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.

Change-Id: I13e2f53f50db294f38ec86138c17c6fe29f0ee82
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-03-07 15:23:38 -08:00
..
2012-01-03 22:54:56 -05:00
2013-03-07 15:23:35 -08:00
2011-07-26 16:49:47 -07:00
2013-03-07 15:23:35 -08:00
2012-04-21 01:58:20 -04:00
2010-05-21 18:31:21 -04:00
2012-04-21 01:58:20 -04:00
2011-03-10 08:52:27 +01:00
2012-01-20 09:23:16 -08:00
2011-05-20 12:50:29 -07:00
2011-10-31 17:30:50 -07:00
2012-04-25 21:26:33 -07:00