lkml.org 
[lkml]   [2021]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/4] x86/mm: replace GFP_ATOMIC with GFP_KERNEL for direct map allocations
Date
From: Mike Rapoport <rppt@linux.ibm.com>

Hi,

The direct map pages on x86 that are allocated using alloc_low_pages() and
spp_getpage() functions. When these functions take 'after_bootmem' branch,
the memory is allocated from buddy with GFP_ATOMIC and I could not find any
reason for this.

Since most of the kernel page tables are anyway allocated really early,
only GART IOMMU initialization and memory hotplug would actually use
get_free_pages() to allocate direct map entries and neither of them happen
in an atomic context, so it would be fine to use GFP_KERNEL. This will give
the page allocator more flexibility when memory hotplug creates the direct
map for hot-added memory and won't use precious atomic memory resources.

The first three patches are trivial cleanups I've encountered while
analysing call paths of alloc_low_pages() and spp_getpage() and the fourth
patch actually replaces GFP_ATOMIC with GFP_KERNEL in those functions.

Mike Rapoport (4):
x86/mm: make init_trampoline_kaslr() __init
x86/mm: make kernel_physical_mapping_change() __init
x86/mm: init_64: make set_pte_vaddr_p4d static
x86/mm: replace GFP_ATOMIC with GFP_KERNEL for direct map allocations

arch/x86/include/asm/pgtable_64.h | 1 -
arch/x86/mm/init.c | 2 +-
arch/x86/mm/init_64.c | 7 ++++---
arch/x86/mm/kaslr.c | 2 +-
4 files changed, 6 insertions(+), 6 deletions(-)


base-commit: d2f38a3c6507b2520101f9a3807ed98f1bdc545a
--
2.28.0

\
 
 \ /
  Last update: 2021-11-11 12:03    [W:0.131 / U:0.256 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site