OSDN Git Service

mm: remove quicklist page table caches
authorNicholas Piggin <npiggin@gmail.com>
Mon, 23 Sep 2019 22:35:19 +0000 (15:35 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 24 Sep 2019 22:54:09 +0000 (15:54 -0700)
commit13224794cb0832caa403ad583d8605202cabc6bc
tree74ecb05caeea21ae665270365734752a043644b1
parent7b167b681013f5715b6e5c4f458e346501464259
mm: remove quicklist page table caches

Patch series "mm: remove quicklist page table caches".

A while ago Nicholas proposed to remove quicklist page table caches [1].

I've rebased his patch on the curren upstream and switched ia64 and sh to
use generic versions of PTE allocation.

[1] https://lore.kernel.org/linux-mm/20190711030339.20892-1-npiggin@gmail.com

This patch (of 3):

Remove page table allocator "quicklists".  These have been around for a
long time, but have not got much traction in the last decade and are only
used on ia64 and sh architectures.

The numbers in the initial commit look interesting but probably don't
apply anymore.  If anybody wants to resurrect this it's in the git
history, but it's unhelpful to have this code and divergent allocator
behaviour for minor archs.

Also it might be better to instead make more general improvements to page
allocator if this is still so slow.

Link: http://lkml.kernel.org/r/1565250728-21721-2-git-send-email-rppt@linux.ibm.com
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
39 files changed:
arch/alpha/include/asm/pgalloc.h
arch/arc/include/asm/pgalloc.h
arch/arm/include/asm/pgalloc.h
arch/arm64/include/asm/pgalloc.h
arch/csky/include/asm/pgalloc.h
arch/hexagon/include/asm/pgalloc.h
arch/ia64/Kconfig
arch/ia64/include/asm/pgalloc.h
arch/m68k/include/asm/pgtable_mm.h
arch/m68k/include/asm/pgtable_no.h
arch/microblaze/include/asm/pgalloc.h
arch/microblaze/mm/pgtable.c
arch/mips/include/asm/pgalloc.h
arch/nds32/include/asm/pgalloc.h
arch/nios2/include/asm/pgalloc.h
arch/openrisc/include/asm/pgalloc.h
arch/parisc/include/asm/pgalloc.h
arch/powerpc/include/asm/pgalloc.h
arch/riscv/include/asm/pgalloc.h
arch/s390/include/asm/pgtable.h
arch/sh/include/asm/pgalloc.h
arch/sh/mm/Kconfig
arch/sparc/include/asm/pgalloc_32.h
arch/sparc/include/asm/pgalloc_64.h
arch/sparc/mm/init_32.c
arch/um/include/asm/pgalloc.h
arch/unicore32/include/asm/pgalloc.h
arch/x86/include/asm/pgtable_32.h
arch/x86/include/asm/pgtable_64.h
arch/xtensa/include/asm/tlbflush.h
fs/proc/meminfo.c
include/asm-generic/pgalloc.h
include/linux/quicklist.h [deleted file]
kernel/sched/idle.c
lib/show_mem.c
mm/Kconfig
mm/Makefile
mm/mmu_gather.c
mm/quicklist.c [deleted file]