lkml.org 
[lkml]   [2023]   [Nov]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH 0/8] implement "memmap on memory" feature on s390
    Date
    Hi All,

    The patch series implements "memmap on memory" feature on s390 and
    provides the necessary fixes for it.

    Patch 1 addresses the locking order in memory hotplug operations,
    ensuring that the mem_hotplug_lock is held during critical operations
    like mhp_init_memmap_on_memory() and mhp_deinit_memmap_on_memory()

    Patch 2 deals with error handling in add_memory_resource() and considers
    the possibility of altmap support. This ensures proper deallocation of
    struct pages, aligning with the allocation strategy.

    Patch 3 relocates the vmem_altmap code to sparse-vmemmap.c, enabling the
    utilization of vmem_altmap_free() and vmem_altmap_offset() without the
    dependency on CONFIG_ZONE_DEVICE. Note: These functions are also used in
    arm64 architecture. However, ZONE_DEVICE or ARCH_HAS_ZONE_DEVICE doesnt
    seems to be enabled in arm64.

    Patch 4 introduces MEM_PHYS_ONLINE/OFFLINE memory notifiers. It
    facilitates the emulation of dynamic ACPI event-triggered logic for
    memory hotplug on platforms lacking such events. This sets the stage for
    implementing the "memmap on memory" feature for s390 in subsequent
    patches. All architecture/codepaths have the default cases handled in
    memory notifiers. Hence, introducing new memory notifiers will have no
    functional impact.

    Patches 5 allocates vmemmap pages from self-contained memory range for
    s390. It allocates memory map (struct pages array) from the hotplugged
    memory range, rather than using system memory by passing altmap to
    vmemmap functions.

    Patch 6 implements MEM_PHYS_ONLINE and MEM_PHYS_OFFLINE memory notifiers
    on s390. It involves making the memory block physically accessible and
    then calling __add_pages()/__remove_pages() with altmap parameter.

    Patch 7 removes unhandled memory notifier types. This is currently
    handled in default case

    Patch 8 finally enables MHP_MEMMAP_ON_MEMORY on s390

    Thank you

    Sumanth Korikkar (8):
    mm/memory_hotplug: fix memory hotplug locking order
    mm/memory_hotplug: fix error handling in add_memory_resource()
    mm: use vmem_altmap code without CONFIG_ZONE_DEVICE
    mm/memory_hotplug: introduce MEM_PHYS_ONLINE/OFFLINE memory notifiers
    s390/mm: allocate vmemmap pages from self-contained memory range
    s390/mm: implement MEM_PHYS_ONLINE MEM_PHYS_OFFLINE memory notifiers
    s390/sclp: remove unhandled memory notifier type
    s390: enable MHP_MEMMAP_ON_MEMORY

    arch/s390/Kconfig | 1 +
    arch/s390/mm/init.c | 19 ++++++++---
    arch/s390/mm/vmem.c | 62 ++++++++++++++++++++----------------
    drivers/base/memory.c | 28 ++++++++++++++--
    drivers/s390/char/sclp_cmd.c | 37 +++++++++++++++------
    include/linux/memory.h | 2 ++
    include/linux/memremap.h | 12 -------
    include/linux/mm.h | 2 ++
    mm/memory_hotplug.c | 15 ++++-----
    mm/memremap.c | 14 +-------
    mm/sparse-vmemmap.c | 13 ++++++++
    11 files changed, 129 insertions(+), 76 deletions(-)

    --
    2.41.0

    \
     
     \ /
      Last update: 2023-11-20 13:59    [W:4.158 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site