For GFP_ATOMIC in alloc_table/_node(), use get_grouped_page_atomic(). Signed-off-by: Rick Edgecombe <rick.p.edgecombe@xxxxxxxxx> --- arch/x86/mm/pgtable.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c index ef0b4ce95522..e65d69ad6e0c 100644 --- a/arch/x86/mm/pgtable.c +++ b/arch/x86/mm/pgtable.c @@ -52,7 +52,10 @@ struct page *alloc_table(gfp_t gfp) return table; } - table = get_grouped_page(numa_node_id(), &gpc_pks); + if (gfp & GFP_ATOMIC) + table = get_grouped_page_atomic(numa_node_id(), &gpc_pks); + else + table = get_grouped_page(numa_node_id(), &gpc_pks); if (!table) return NULL; __SetPageTable(table); -- 2.17.1