[PATCH v2 0/4] vmalloc: Improve vmalloc(4MB) performance

From: Matthew Wilcox (Oracle)
Date: Wed Mar 24 2021 - 11:07:52 EST


I may have gone a little too far with the first patch. It turns out we
have a lot of code using the vmalloc caller functionality, and I decided
to convert it all to unsigned long instead of leaving some paths as void *
and casting later.

I can redo that if necessary. I've tested arm32, sh4 and powerpc32 builds
as well as x86, but I wouldn't be surprised if the buildbots tell me I
missed something.

Matthew Wilcox (Oracle) (4):
mm/vmalloc: Change the 'caller' type to unsigned long
mm/util: Add kvmalloc_node_caller
mm/vmalloc: Use kvmalloc to allocate the table of pages
MAINTAINERS: Add Vlad Rezki as vmalloc maintainer

MAINTAINERS | 7 +++
arch/arm/include/asm/io.h | 6 +--
arch/arm/include/asm/mach/map.h | 3 --
arch/arm/kernel/module.c | 4 +-
arch/arm/mach-imx/mm-imx3.c | 2 +-
arch/arm/mach-ixp4xx/common.c | 2 +-
arch/arm/mach-mvebu/coherency.c | 2 +-
arch/arm/mm/ioremap.c | 27 +++++------
arch/arm/mm/mmu.c | 10 ++--
arch/arm/mm/nommu.c | 16 +++---
arch/arm64/include/asm/vmap_stack.h | 2 +-
arch/arm64/kernel/module.c | 5 +-
arch/arm64/kernel/probes/kprobes.c | 2 +-
arch/arm64/mm/ioremap.c | 7 ++-
arch/arm64/mm/mmu.c | 2 +-
arch/arm64/net/bpf_jit_comp.c | 3 +-
arch/mips/kernel/module.c | 2 +-
arch/nds32/kernel/module.c | 2 +-
arch/parisc/kernel/module.c | 5 +-
arch/powerpc/include/asm/io-workarounds.h | 2 +-
arch/powerpc/include/asm/io.h | 6 +--
arch/powerpc/kernel/io-workarounds.c | 2 +-
arch/powerpc/kernel/irq.c | 2 +-
arch/powerpc/kernel/module.c | 3 +-
arch/powerpc/kernel/pci_64.c | 3 +-
arch/powerpc/mm/ioremap.c | 10 ++--
arch/powerpc/mm/ioremap_32.c | 8 +--
arch/powerpc/mm/ioremap_64.c | 4 +-
arch/riscv/kernel/module.c | 2 +-
arch/riscv/net/bpf_jit_comp64.c | 2 +-
arch/s390/kernel/module.c | 2 +-
arch/s390/kernel/setup.c | 3 +-
arch/sh/include/asm/io.h | 11 ++---
arch/sh/kernel/cpu/sh4/sq.c | 2 +-
arch/sh/mm/ioremap.c | 2 +-
arch/sh/mm/pmb.c | 2 +-
arch/sparc/kernel/module.c | 2 +-
arch/x86/hyperv/hv_init.c | 3 +-
arch/x86/kernel/module.c | 3 +-
arch/x86/mm/ioremap.c | 20 ++++----
include/linux/mm.h | 4 +-
include/linux/slab.h | 2 +
include/linux/vmalloc.h | 22 ++++-----
kernel/bpf/syscall.c | 2 +-
kernel/fork.c | 2 +-
kernel/module.c | 2 +-
kernel/scs.c | 3 +-
lib/test_vmalloc.c | 7 ++-
mm/ioremap.c | 3 +-
mm/kasan/shadow.c | 5 +-
mm/nommu.c | 4 +-
mm/util.c | 52 +++++++++++---------
mm/vmalloc.c | 59 +++++++++--------------
53 files changed, 172 insertions(+), 198 deletions(-)

--
2.30.2