Messages in this thread Patch in this message | | | From | Mel Gorman <> | Subject | [PATCH 4/4] mm, page_alloc: Check once if a zone has isolated pageblocks -fix | Date | Wed, 27 Apr 2016 13:24:45 +0100 |
| |
Vlastimil Babka pointed out that the original code was protected by the zone lock and provided a fix.
This is a fix to the mmotm patch mm-page_alloc-check-once-if-a-zone-has-isolated-pageblocks.patch . Once applied the following line should be removed from the changelog "Technically this is race-prone but so is the existing code."
Signed-off-by: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Mel Gorman <mgorman@techsingularity.net> --- mm/page_alloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 599bd1a49384..269cdb53297c 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1098,9 +1098,10 @@ static void free_pcppages_bulk(struct zone *zone, int count, int migratetype = 0; int batch_free = 0; unsigned long nr_scanned; - bool isolated_pageblocks = has_isolate_pageblock(zone); + bool isolated_pageblocks; spin_lock(&zone->lock); + isolated_pageblocks = has_isolate_pageblock(zone); nr_scanned = zone_page_state(zone, NR_PAGES_SCANNED); if (nr_scanned) __mod_zone_page_state(zone, NR_PAGES_SCANNED, -nr_scanned); -- 2.6.4
| |