• Anshuman Khandual's avatar
    mm/sparsemem: enable vmem_altmap support in vmemmap_alloc_block_buf() · 56993b4e
    Anshuman Khandual authored
    There are many instances where vmemap allocation is often switched between
    regular memory and device memory just based on whether altmap is available
    or not.  vmemmap_alloc_block_buf() is used in various platforms to
    allocate vmemmap mappings.  Lets also enable it to handle altmap based
    device memory allocation along with existing regular memory allocations.
    This will help in avoiding the altmap based allocation switch in many
    places.  To summarize there are two different methods to call
    vmemmap_alloc_block_buf().
    
    vmemmap_alloc_block_buf(size, node, NULL)   /* Allocate from system RAM */
    vmemmap_alloc_block_buf(size, node, altmap) /* Allocate from altmap */
    
    This converts altmap_alloc_block_buf() into a static function, drops it's
    entry from the header and updates Documentation/vm/memory-model.rst.
    Suggested-by: default avatarRobin Murphy <robin.murphy@arm.com>
    Signed-off-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Tested-by: default avatarJia He <justin.he@arm.com>
    Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Will Deacon <will@kernel.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Hsin-Yi Wang <hsinyi@chromium.org>
    Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Palmer Dabbelt <palmer@dabbelt.com>
    Cc: Paul Walmsley <paul.walmsley@sifive.com>
    Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
    Cc: Steve Capper <steve.capper@arm.com>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Yu Zhao <yuzhao@google.com>
    Link: http://lkml.kernel.org/r/1594004178-8861-3-git-send-email-anshuman.khandual@arm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    56993b4e
init_64.c 41.1 KB