• Rebecca Mckeever's avatar
    memblock tests: add top-down NUMA tests for memblock_alloc_try_nid* · 50c80241
    Rebecca Mckeever authored
    Add tests for memblock_alloc_try_nid() and memblock_alloc_try_nid_raw()
    where the simulated physical memory is set up with multiple NUMA nodes.
    Additionally, all of these tests set nid != NUMA_NO_NODE. These tests are
    run with a top-down allocation direction.
    
    The tested scenarios are:
    
    Range unrestricted:
    - region can be allocated in the specific node requested:
          + there are no previously reserved regions
          + the requested node is partially reserved but has enough space
    - the specific node requested cannot accommodate the request, but the
      region can be allocated in a different node:
          + there are no previously reserved regions, but node is too small
          + the requested node is fully reserved
          + the requested node is partially reserved and does not have
            enough space
    
    Range restricted:
    - region can be allocated in the specific node requested after dropping
      min_addr:
          + range partially overlaps with two different nodes, where the first
            node is the requested node
          + range partially overlaps with two different nodes, where the
            requested node ends before min_addr
    - region cannot be allocated in the specific node requested, but it can be
      allocated in the requested range:
          + range overlaps with multiple nodes along node boundaries, and the
            requested node ends before min_addr
          + range overlaps with multiple nodes along node boundaries, and the
            requested node starts after max_addr
    - region cannot be allocated in the specific node requested, but it can be
      allocated after dropping min_addr:
          + range partially overlaps with two different nodes, where the
            second node is the requested node
    Acked-by: default avatarDavid Hildenbrand <david@redhat.com>
    Signed-off-by: default avatarRebecca Mckeever <remckee0@gmail.com>
    Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
    Link: https://lore.kernel.org/r/84009c5b3969337ccf89df850db56d364f8c228b.1663046060.git.remckee0@gmail.com
    50c80241
alloc_nid_api.h 449 Bytes