memblock tests: add additional tests for basic api and memblock_alloc
authorRebecca Mckeever <remckee0@gmail.com>
Sat, 27 Aug 2022 05:42:46 +0000 (00:42 -0500)
committerMike Rapoport <rppt@linux.ibm.com>
Tue, 30 Aug 2022 10:12:00 +0000 (13:12 +0300)
commit21a233f68afe55aafa8b79705c97f7a1d37be3e1
treec935caf32f9e6e542433405fb02782c91bd0da5f
parentfb2e97fe853ff515df473d4acec6707816e05d87
memblock tests: add additional tests for basic api and memblock_alloc

Add tests for memblock_add(), memblock_reserve(), memblock_remove(),
memblock_free(), and memblock_alloc() for the following test scenarios.

memblock_add() and memblock_reserve():
- add/reserve a memory block in the gap between two existing memory
  blocks, and check that the blocks are merged into one region
- try to add/reserve memblock regions that extend past PHYS_ADDR_MAX

memblock_remove() and memblock_free():
- remove/free a region when it is the only available region
    + These tests ensure that the first region is overwritten with a
      "dummy" region when the last remaining region of that type is
      removed or freed.
- remove/free() a region that overlaps with two existing regions of the
  relevant type
- try to remove/free memblock regions that extend past PHYS_ADDR_MAX

memblock_alloc():
- try to allocate a region that is larger than the total size of available
  memory (memblock.memory)

Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Shaoqin Huang <shaoqin.huang@intel.com>
Signed-off-by: Rebecca Mckeever <remckee0@gmail.com>
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Link: https://lore.kernel.org/r/c23c0393c5b9a53fe7f676996913c629495e9727.1661578349.git.remckee0@gmail.com
tools/testing/memblock/tests/alloc_api.c
tools/testing/memblock/tests/basic_api.c