memory-hotplug: fix NR_FREE_PAGES mismatch's fix
Subsystems (2)
PATCH v2 1/1 memory-hotplug: fix NR_FREE_PAGES mismatch's fix
When a page is freed and put into pcp list, get_freepage_migratetype() doesn't return MIGRATE_ISOLATE even if this pageblock is isolated. So we should use get_freepage_migratetype() instead of mt to check whether it is isolated.
--- mm/page_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
mm/page_alloc.c +1 -1
@@ -667,7 +667,7 @@ static void free_pcppages_bulk(struct zone *zone, int count,/* MIGRATE_MOVABLE list may include MIGRATE_RESERVEs */ __free_one_page (page, zone,0 , mt);trace_mm_page_pcpu_drain (page,0 , mt); -if (likely (mt !=MIGRATE_ISOLATE )) { +if (likely (get_pageblock_migratetype (page) !=MIGRATE_ISOLATE )) {__mod_zone_page_state (zone,NR_FREE_PAGES ,1 );if (is_migrate_cma (mt))__mod_zone_page_state (zone,NR_FREE_CMA_PAGES ,1 );
Signature · 7 lines
1.8.0 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
At 11/08/2012 05:06 PM, Wen Congyang Wrote:
Quoted 5 lines
When a page is freed and put into pcp list,
get_freepage_migratetype()doesn't returnMIGRATE_ISOLATEeven if this pageblock is isolated. So we should useget_freepage_migratetype()instead of mt to check whether it is isolated.
In my local tree, there are some patches from isimatu, so I don't add -s option when generating the patch. So I forgot to add:
Quoted 9 lines
--- mm/page_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)mm/page_alloc.c +0
-0
mm/page_alloc.c static void free_pcppages_bulk(struct zone *zone, int count, · line 673
Quoted 8 lines
mm/page_alloc.c +1
-1@@ -667,7 +667,7 @@ static void free_pcppages_bulk(struct zone *zone, int count,/* MIGRATE_MOVABLE list may include MIGRATE_RESERVEs */ __free_one_page (page, zone,0 , mt);trace_mm_page_pcpu_drain (page,0 , mt); -if (likely (mt !=MIGRATE_ISOLATE )) { +if (likely (get_pageblock_migratetype (page) !=MIGRATE_ISOLATE )) {__mod_zone_page_state (zone,NR_FREE_PAGES ,1 );if (is_migrate_cma (mt))__mod_zone_page_state (zone,NR_FREE_CMA_PAGES ,1 );
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>