• Aneesh Kumar K.V's avatar
    powerpc/book3s64/memhotplug: enable memmap on memory for radix · 603fd64d
    Aneesh Kumar K.V authored
    Radix vmemmap mapping can map things correctly at the PMD level or PTE
    level based on different device boundary checks.  Hence we skip the
    restrictions w.r.t vmemmap size to be multiple of PMD_SIZE.  This also
    makes the feature widely useful because to use PMD_SIZE vmemmap area we
    require a memory block size of 2GiB
    
    We can also use MHP_RESERVE_PAGES_MEMMAP_ON_MEMORY to that the feature can
    work with a memory block size of 256MB.  Using altmap.reserve feature to
    align things correctly at pageblock granularity.  We can end up losing
    some pages in memory with this.  For ex: with a 256MiB memory block size,
    we require 4 pages to map vmemmap pages, In order to align things
    correctly we end up adding a reserve of 28 pages.  ie, for every 4096
    pages 28 pages get reserved.
    
    Link: https://lkml.kernel.org/r/20230808091501.287660-6-aneesh.kumar@linux.ibm.comSigned-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
    Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Vishal Verma <vishal.l.verma@intel.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    603fd64d
hotplug-memory.c 20.9 KB