Commit 61da0332 authored by Rebecca Mckeever's avatar Rebecca Mckeever Committed by Mike Rapoport

memblock tests: introduce range tests for memblock_alloc_exact_nid_raw

Add TEST_F_EXACT flag, which specifies that tests should run
memblock_alloc_exact_nid_raw(). Introduce range tests for
memblock_alloc_exact_nid_raw() by using the TEST_F_EXACT flag to run the
range tests in alloc_nid_api.c, since memblock_alloc_exact_nid_raw() and
memblock_alloc_try_nid_raw() behave the same way when nid = NUMA_NO_NODE.

Rename tests and other functions in alloc_nid_api.c by removing "_try".
Since the test names will be displayed in verbose output, they need to
be general enough to refer to any of the memblock functions that the
tests may run.
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/5a4b6d1b6130ab7375314e1c45a6d5813dfdabbd.1667802195.git.remckee0@gmail.com
parent 62a56c54
...@@ -7,7 +7,7 @@ CFLAGS += -I. -I../../include -Wall -O2 -fsanitize=address \ ...@@ -7,7 +7,7 @@ CFLAGS += -I. -I../../include -Wall -O2 -fsanitize=address \
LDFLAGS += -fsanitize=address -fsanitize=undefined LDFLAGS += -fsanitize=address -fsanitize=undefined
TARGETS = main TARGETS = main
TEST_OFILES = tests/alloc_nid_api.o tests/alloc_helpers_api.o tests/alloc_api.o \ TEST_OFILES = tests/alloc_nid_api.o tests/alloc_helpers_api.o tests/alloc_api.o \
tests/basic_api.o tests/common.o tests/basic_api.o tests/common.o tests/alloc_exact_nid_api.o
DEP_OFILES = memblock.o lib/slab.o mmzone.o slab.o DEP_OFILES = memblock.o lib/slab.o mmzone.o slab.o
OFILES = main.o $(DEP_OFILES) $(TEST_OFILES) OFILES = main.o $(DEP_OFILES) $(TEST_OFILES)
EXTR_SRC = ../../../mm/memblock.c EXTR_SRC = ../../../mm/memblock.c
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
#include "tests/alloc_api.h" #include "tests/alloc_api.h"
#include "tests/alloc_helpers_api.h" #include "tests/alloc_helpers_api.h"
#include "tests/alloc_nid_api.h" #include "tests/alloc_nid_api.h"
#include "tests/alloc_exact_nid_api.h"
#include "tests/common.h" #include "tests/common.h"
int main(int argc, char **argv) int main(int argc, char **argv)
...@@ -12,6 +13,7 @@ int main(int argc, char **argv) ...@@ -12,6 +13,7 @@ int main(int argc, char **argv)
memblock_alloc_checks(); memblock_alloc_checks();
memblock_alloc_helpers_checks(); memblock_alloc_helpers_checks();
memblock_alloc_nid_checks(); memblock_alloc_nid_checks();
memblock_alloc_exact_nid_checks();
return 0; return 0;
} }
// SPDX-License-Identifier: GPL-2.0-or-later
#include "alloc_exact_nid_api.h"
#include "alloc_nid_api.h"
#define FUNC_NAME "memblock_alloc_exact_nid_raw"
int memblock_alloc_exact_nid_checks(void)
{
prefix_reset();
prefix_push(FUNC_NAME);
reset_memblock_attributes();
dummy_physical_memory_init();
memblock_alloc_exact_nid_range_checks();
dummy_physical_memory_cleanup();
prefix_pop();
return 0;
}
/* SPDX-License-Identifier: GPL-2.0-or-later */
#ifndef _MEMBLOCK_ALLOC_EXACT_NID_H
#define _MEMBLOCK_ALLOC_EXACT_NID_H
#include "common.h"
int memblock_alloc_exact_nid_checks(void);
#endif
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include "common.h" #include "common.h"
int memblock_alloc_nid_checks(void); int memblock_alloc_nid_checks(void);
int memblock_alloc_exact_nid_range_checks(void);
int __memblock_alloc_nid_numa_checks(void); int __memblock_alloc_nid_numa_checks(void);
#ifdef CONFIG_NUMA #ifdef CONFIG_NUMA
......
...@@ -21,6 +21,8 @@ enum test_flags { ...@@ -21,6 +21,8 @@ enum test_flags {
TEST_F_NONE = 0x0, TEST_F_NONE = 0x0,
/* Perform raw allocations (no zeroing of memory). */ /* Perform raw allocations (no zeroing of memory). */
TEST_F_RAW = 0x1, TEST_F_RAW = 0x1,
/* Perform allocations on the exact node specified. */
TEST_F_EXACT = 0x2
}; };
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment