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: 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/5a4b6d1b6130ab7375314e1c45a6d5813dfdabbd.1667802195.git.remckee0@gmail.com
This commit is contained in:
parent
62a56c5407
commit
61da03328a
@ -7,7 +7,7 @@ CFLAGS += -I. -I../../include -Wall -O2 -fsanitize=address \
|
||||
LDFLAGS += -fsanitize=address -fsanitize=undefined
|
||||
TARGETS = main
|
||||
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
|
||||
OFILES = main.o $(DEP_OFILES) $(TEST_OFILES)
|
||||
EXTR_SRC = ../../../mm/memblock.c
|
||||
|
@ -3,6 +3,7 @@
|
||||
#include "tests/alloc_api.h"
|
||||
#include "tests/alloc_helpers_api.h"
|
||||
#include "tests/alloc_nid_api.h"
|
||||
#include "tests/alloc_exact_nid_api.h"
|
||||
#include "tests/common.h"
|
||||
|
||||
int main(int argc, char **argv)
|
||||
@ -12,6 +13,7 @@ int main(int argc, char **argv)
|
||||
memblock_alloc_checks();
|
||||
memblock_alloc_helpers_checks();
|
||||
memblock_alloc_nid_checks();
|
||||
memblock_alloc_exact_nid_checks();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
22
tools/testing/memblock/tests/alloc_exact_nid_api.c
Normal file
22
tools/testing/memblock/tests/alloc_exact_nid_api.c
Normal file
@ -0,0 +1,22 @@
|
||||
// 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;
|
||||
}
|
9
tools/testing/memblock/tests/alloc_exact_nid_api.h
Normal file
9
tools/testing/memblock/tests/alloc_exact_nid_api.h
Normal file
@ -0,0 +1,9 @@
|
||||
/* 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
|
File diff suppressed because it is too large
Load Diff
@ -5,6 +5,7 @@
|
||||
#include "common.h"
|
||||
|
||||
int memblock_alloc_nid_checks(void);
|
||||
int memblock_alloc_exact_nid_range_checks(void);
|
||||
int __memblock_alloc_nid_numa_checks(void);
|
||||
|
||||
#ifdef CONFIG_NUMA
|
||||
|
@ -21,6 +21,8 @@ enum test_flags {
|
||||
TEST_F_NONE = 0x0,
|
||||
/* Perform raw allocations (no zeroing of memory). */
|
||||
TEST_F_RAW = 0x1,
|
||||
/* Perform allocations on the exact node specified. */
|
||||
TEST_F_EXACT = 0x2
|
||||
};
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user