On 10/10/2016 05:35 AM, Xishi Qiu wrote:
We will use gfp_mask in the following path, but it's not init.kcompactd_do_work compact_zone gfpflags_to_migratetype However if not init, gfp_mask is always 0, and the result of gfpflags_to_migratetype(0) and gfpflags_to_migratetype(GFP_KERNEL) are the same, but it's a little confusion, so init it first.
Michal already did this as part of his patch, as it was needed to avoid wrongly restricting kcompactd to anonymous pages:
http://lkml.kernel.org/r/<[email protected]>
Signed-off-by: Xishi Qiu <[email protected]> --- mm/compaction.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/compaction.c b/mm/compaction.c index 9affb29..4b9a9d1 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -1895,10 +1895,10 @@ static void kcompactd_do_work(pg_data_t *pgdat) struct zone *zone; struct compact_control cc = { .order = pgdat->kcompactd_max_order, + .gfp_mask = GFP_KERNEL, .classzone_idx = pgdat->kcompactd_classzone_idx, .mode = MIGRATE_SYNC_LIGHT, .ignore_skip_hint = true, - }; bool success = false;

