linux_dsm_epyc7002/arch
Anshuman Khandual eee07935bb arm64/mm: enable vmem_altmap support for vmemmap mappings
Device memory ranges when getting hot added into ZONE_DEVICE, might
require their vmemmap mapping's backing memory to be allocated from their
own range instead of consuming system memory.  This prevents large system
memory usage for potentially large device memory ranges.  Device driver
communicates this request via vmem_altmap structure.  Architecture needs
to take this request into account while creating and tearing down vemmmap
mappings.

This enables vmem_altmap support in vmemmap_populate() and vmemmap_free()
which includes vmemmap_populate_basepages() used for ARM64_16K_PAGES and
ARM64_64K_PAGES configs.

Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Tested-by: Jia He <justin.he@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Steve Capper <steve.capper@arm.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Yu Zhao <yuzhao@google.com>
Cc: Hsin-Yi Wang <hsinyi@chromium.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Tony Luck <tony.luck@intel.com>
Link: http://lkml.kernel.org/r/1594004178-8861-4-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-08-07 11:33:27 -07:00
..
alpha asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
arc mm: remove unneeded includes of <asm/pgalloc.h> 2020-08-07 11:33:26 -07:00
arm asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
arm64 arm64/mm: enable vmem_altmap support for vmemmap mappings 2020-08-07 11:33:27 -07:00
c6x Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
csky asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
h8300 fork-v5.9 2020-08-04 14:47:45 -07:00
hexagon asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
ia64 mm/sparsemem: enable vmem_altmap support in vmemmap_populate_basepages() 2020-08-07 11:33:27 -07:00
m68k asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
microblaze asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
mips asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
nds32 asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
nios2 asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
openrisc opeinrisc: switch to generic version of pte allocation 2020-08-07 11:33:26 -07:00
parisc asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
powerpc mm/sparsemem: enable vmem_altmap support in vmemmap_alloc_block_buf() 2020-08-07 11:33:27 -07:00
riscv mm/sparsemem: enable vmem_altmap support in vmemmap_populate_basepages() 2020-08-07 11:33:27 -07:00
s390 mm: remove unneeded includes of <asm/pgalloc.h> 2020-08-07 11:33:26 -07:00
sh asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
sparc mm: remove unneeded includes of <asm/pgalloc.h> 2020-08-07 11:33:26 -07:00
um asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
x86 mm/sparsemem: enable vmem_altmap support in vmemmap_alloc_block_buf() 2020-08-07 11:33:27 -07:00
xtensa asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
.gitignore
Kconfig It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00