memblock tests: add top-down NUMA tests for memblock_alloc_exact_nid_raw
authorRebecca Mckeever <remckee0@gmail.com>
Mon, 7 Nov 2022 06:28:06 +0000 (00:28 -0600)
committerMike Rapoport <rppt@linux.ibm.com>
Tue, 8 Nov 2022 07:50:24 +0000 (09:50 +0200)
commitbfc05a4ce3650a1e5a47ccdaf8c87f814829b4a7
treef7ccab4a7a1f93965f0d857b4b110e6bc5e67be7
parent61da03328a603d2d4a5b2e80cbe29bbf0122e6f8
memblock tests: add top-down NUMA tests for memblock_alloc_exact_nid_raw

Add tests for memblock_alloc_exact_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

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
      + range overlaps with multiple nodes along node boundaries, and
        the requested node ends before min_addr

Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Rebecca Mckeever <remckee0@gmail.com>
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Link: https://lore.kernel.org/r/2cc0883243d68ddc3faf833d2d9e86f48534c1d7.1667802195.git.remckee0@gmail.com
tools/testing/memblock/tests/alloc_exact_nid_api.c
tools/testing/memblock/tests/alloc_exact_nid_api.h