linux/arch/x86/mm
Joerg Roedel 6eb82f9940 x86/mm: Pre-allocate P4D/PUD pages for vmalloc area
Pre-allocate the page-table pages for the vmalloc area at the level
which needs synchronization on x86-64, which is P4D for 5-level and
PUD for 4-level paging.

Doing this at boot makes sure no synchronization of that area is
necessary at runtime. The synchronization takes the pgd_lock and
iterates over all page-tables in the system, so it can take quite long
and is better avoided.

Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Mike Rapoport <rppt@linux.ibm.com>
Link: https://lore.kernel.org/r/20200721095953.6218-2-joro@8bytes.org
2020-07-27 12:32:29 +02:00
..
pat mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
amdtopology.c
cpu_entry_area.c x86/entry: Remove DBn stacks 2020-06-11 15:15:23 +02:00
debug_pagetables.c mm: introduce include/linux/pgtable.h 2020-06-09 09:39:13 -07:00
dump_pagetables.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
extable.c x86/entry: Treat BUG/WARN as NMI-like entries 2020-06-12 12:12:57 +02:00
fault.c maccess: rename probe_kernel_address to get_kernel_nofault 2020-06-18 11:14:40 -07:00
highmem_32.c arch/kunmap_atomic: consolidate duplicate code 2020-06-04 19:06:22 -07:00
hugetlbpage.c hugetlbfs: remove hugetlb_add_hstate() warning for existing hstate 2020-06-03 20:09:46 -07:00
ident_map.c
init.c x86/mm: simplify init_trampoline() and surrounding logic 2020-06-09 09:39:13 -07:00
init_32.c maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault 2020-06-17 10:57:41 -07:00
init_64.c x86/mm: Pre-allocate P4D/PUD pages for vmalloc area 2020-07-27 12:32:29 +02:00
iomap_32.c x86/mm/pat: Rename <asm/pat.h> => <asm/memtype.h> 2019-12-10 10:12:55 +01:00
ioremap.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
kasan_init_64.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
kaslr.c x86/mm: simplify init_trampoline() and surrounding logic 2020-06-09 09:39:13 -07:00
kmmio.c Misc changes: 2020-06-05 11:18:53 -07:00
maccess.c maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault 2020-06-17 10:57:41 -07:00
Makefile Merge branch 'x86/kdump' into locking/kcsan, to resolve conflicts 2020-03-21 09:24:41 +01:00
mem_encrypt.c x86/tlb: Move __flush_tlb() out of line 2020-04-26 11:00:05 +02:00
mem_encrypt_boot.S mm: introduce include/linux/pgtable.h 2020-06-09 09:39:13 -07:00
mem_encrypt_identity.c
mm_internal.h x86/mm: thread pgprot_t through init_memory_mapping() 2020-04-10 15:36:21 -07:00
mmap.c x86/mm/mmap: Fix -Wmissing-prototypes warnings 2020-04-22 20:19:48 +02:00
mmio-mod.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
numa.c mm: rename free_area_init_node() to free_area_init_memoryless_node() 2020-06-03 20:09:44 -07:00
numa_32.c x86/mm: Drop deprecated DISCONTIGMEM support for 32-bit 2020-05-28 18:34:30 +02:00
numa_64.c
numa_emulation.c x86/mm: Mark setup_emu2phys_nid() static 2020-03-27 11:07:30 +01:00
numa_internal.h
pf_in.c
pf_in.h
pgtable.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
pgtable_32.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
physaddr.c mm, x86/mm: Untangle address space layout definitions from basic pgtable type definitions 2019-12-10 10:12:55 +01:00
physaddr.h
pkeys.c mm/vma: introduce VM_ACCESS_FLAGS 2020-04-10 15:36:21 -07:00
pti.c x86/entry: Unbreak __irqentry_text_start/end magic 2020-06-11 15:15:29 +02:00
setup_nx.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
srat.c
testmmiotrace.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
tlb.c Misc changes: 2020-06-05 11:18:53 -07:00