linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/8] huge vmalloc mappings
@ 2020-08-21  4:44 Nicholas Piggin
  2020-08-21  4:44 ` [PATCH v5 1/8] mm/vmalloc: fix vmalloc_to_page for huge vmap mappings Nicholas Piggin
                   ` (8 more replies)
  0 siblings, 9 replies; 23+ messages in thread
From: Nicholas Piggin @ 2020-08-21  4:44 UTC (permalink / raw)
  To: linux-mm, Andrew Morton
  Cc: Nicholas Piggin, linux-kernel, linux-arch, linuxppc-dev,
	Zefan Li, Jonathan Cameron

I made this powerpc-only for the time being. It shouldn't be too hard to
add support for other archs that define HUGE_VMAP. I have booted x86
with it enabled, just may not have audited everything.

Hi Andrew, would you care to put this in your tree?

Thanks,
Nick

Since v4:
- Fixed an off-by-page-order bug in v4
- Several minor cleanups.
- Added page order to /proc/vmallocinfo
- Added hugepage to alloc_large_system_hage output.
- Made an architecture config option, powerpc only for now.

Since v3:
- Fixed an off-by-one bug in a loop
- Fix !CONFIG_HAVE_ARCH_HUGE_VMAP build fail
- Hopefully this time fix the arm64 vmap stack bug, thanks Jonathan
  Cameron for debugging the cause of this (hopefully).

Since v2:
- Rebased on vmalloc cleanups, split series into simpler pieces.
- Fixed several compile errors and warnings
- Keep the page array and accounting in small page units because
  struct vm_struct is an interface (this should fix x86 vmap stack debug
  assert). [Thanks Zefan]

Nicholas Piggin (8):
  mm/vmalloc: fix vmalloc_to_page for huge vmap mappings
  mm: apply_to_pte_range warn and fail if a large pte is encountered
  mm/vmalloc: rename vmap_*_range vmap_pages_*_range
  lib/ioremap: rename ioremap_*_range to vmap_*_range
  mm: HUGE_VMAP arch support cleanup
  mm: Move vmap_range from lib/ioremap.c to mm/vmalloc.c
  mm/vmalloc: add vmap_range_noflush variant
  mm/vmalloc: Hugepage vmalloc mappings

 .../admin-guide/kernel-parameters.txt         |   2 +
 arch/Kconfig                                  |   4 +
 arch/arm64/mm/mmu.c                           |  12 +-
 arch/powerpc/Kconfig                          |   1 +
 arch/powerpc/mm/book3s64/radix_pgtable.c      |  10 +-
 arch/x86/mm/ioremap.c                         |  12 +-
 include/linux/io.h                            |   9 -
 include/linux/vmalloc.h                       |  13 +
 init/main.c                                   |   1 -
 mm/ioremap.c                                  | 231 +--------
 mm/memory.c                                   |  60 ++-
 mm/page_alloc.c                               |   4 +-
 mm/vmalloc.c                                  | 456 +++++++++++++++---
 13 files changed, 476 insertions(+), 339 deletions(-)

-- 
2.23.0


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2020-08-22  6:19 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-21  4:44 [PATCH v5 0/8] huge vmalloc mappings Nicholas Piggin
2020-08-21  4:44 ` [PATCH v5 1/8] mm/vmalloc: fix vmalloc_to_page for huge vmap mappings Nicholas Piggin
2020-08-21  4:44 ` [PATCH v5 2/8] mm: apply_to_pte_range warn and fail if a large pte is encountered Nicholas Piggin
2020-08-21 23:24   ` [mm] 8e63b8bbd7: WARNING:at_mm/memory.c:#__apply_to_page_range kernel test robot
2020-08-22  6:19     ` Nicholas Piggin
2020-08-21  4:44 ` [PATCH v5 3/8] mm/vmalloc: rename vmap_*_range vmap_pages_*_range Nicholas Piggin
2020-08-21  5:45   ` Christoph Hellwig
2020-08-21  4:44 ` [PATCH v5 4/8] lib/ioremap: rename ioremap_*_range to vmap_*_range Nicholas Piggin
2020-08-21  5:45   ` Christoph Hellwig
2020-08-21  4:44 ` [PATCH v5 5/8] mm: HUGE_VMAP arch support cleanup Nicholas Piggin
2020-08-21  5:40   ` Christophe Leroy
2020-08-21 10:39     ` Nicholas Piggin
2020-08-21 12:43       ` Christophe Leroy
2020-08-21  5:46   ` Christoph Hellwig
2020-08-21  4:44 ` [PATCH v5 6/8] mm: Move vmap_range from lib/ioremap.c to mm/vmalloc.c Nicholas Piggin
2020-08-21  5:46   ` Christoph Hellwig
2020-08-21  5:48   ` Christophe Leroy
2020-08-21  4:44 ` [PATCH v5 7/8] mm/vmalloc: add vmap_range_noflush variant Nicholas Piggin
2020-08-21  4:44 ` [PATCH v5 8/8] mm/vmalloc: Hugepage vmalloc mappings Nicholas Piggin
2020-08-21  7:17   ` kernel test robot
2020-08-21 11:27   ` kernel test robot
2020-08-21  5:47 ` [PATCH v5 0/8] huge " Christophe Leroy
2020-08-21 11:11   ` Nicholas Piggin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).