[LTP] [PATCH 04/13] testcases/kernel/mem: Move get_a_numa_node()

Cyril Hrubis
2024-12-18T18:46:43Z

Move get_a_numa_node() from the library to the ksm_common.h since the
function is used only by the ksm testcases.

Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
---
testcases/kernel/mem/include/mem.h | 3 ---
testcases/kernel/mem/ksm/ksm_common.h | 35 +++++++++++++++++++++++++++
testcases/kernel/mem/lib/mem.c | 33 -------------------------
3 files changed, 35 insertions(+), 36 deletions(-)

diff --git a/testcases/kernel/mem/include/mem.h b/testcases/kernel/mem/include/mem.h
index 7251a8839..35a1f0834 100644
--- a/testcases/kernel/mem/include/mem.h
+++ b/testcases/kernel/mem/include/mem.h
@@ -68,9 +68,6 @@ void write_memcg(void);
/* cpuset/memcg - include/tst_cgroup.h */
void write_cpusets(const struct tst_cg_group *cg, long nd);

-/* shared */
-unsigned int get_a_numa_node(void);
-
void update_shm_size(size_t *shm_size);

#endif
diff --git a/testcases/kernel/mem/ksm/ksm_common.h b/testcases/kernel/mem/ksm/ksm_common.h
index 489d34ae0..43ea8f8c2 100644
--- a/testcases/kernel/mem/ksm/ksm_common.h
+++ b/testcases/kernel/mem/ksm/ksm_common.h
@@ -11,6 +11,7 @@
#define KSM_COMMON_H__

#include "tst_test.h"
+#include "numa_helper.h"

#define DEFAULT_MEMSIZE 128

@@ -33,4 +34,38 @@ static inline void parse_ksm_options(char *str_size, int *size,
tst_brk(TBROK, "the remainder of division of size by unit is not zero.");
}

+/* Warning: *DO NOT* use this function in child */
+static inline unsigned int get_a_numa_node(void)
+{
+ unsigned int nd1, nd2;
+ int ret;
+
+ ret = get_allowed_nodes(0, 2, &nd1, &nd2);
+ switch (ret) {
+ case 0:
+ break;
+ case -3:
+ tst_brk(TCONF, "requires a NUMA system.");
+ default:
+ tst_brk(TBROK | TERRNO, "1st get_allowed_nodes");
+ }
+
+ ret = get_allowed_nodes(NH_MEMS | NH_CPUS, 1, &nd1);
+ switch (ret) {
+ case 0:
+ tst_res(TINFO, "get node%u.", nd1);
+ return nd1;
+ case -3:
+ tst_brk(TCONF, "requires a NUMA system that has "
+ "at least one node with both memory and CPU "
+ "available.");
+ default:
+ tst_brk(TBROK | TERRNO, "2nd get_allowed_nodes");
+ }
+
+ /* not reached */
+ abort();
+}
+
+
#endif /* KSM_COMMON_H__ */
diff --git a/testcases/kernel/mem/lib/mem.c b/testcases/kernel/mem/lib/mem.c
index 16eb39cba..06271f5d3 100644
--- a/testcases/kernel/mem/lib/mem.c
+++ b/testcases/kernel/mem/lib/mem.c
@@ -593,39 +593,6 @@ void write_cpusets(const struct tst_cg_group *cg, long nd)

/* shared */

-/* Warning: *DO NOT* use this function in child */
-unsigned int get_a_numa_node(void)
-{
- unsigned int nd1, nd2;
- int ret;
-
- ret = get_allowed_nodes(0, 2, &nd1, &nd2);
- switch (ret) {
- case 0:
- break;
- case -3:
- tst_brk(TCONF, "requires a NUMA system.");
- default:
- tst_brk(TBROK | TERRNO, "1st get_allowed_nodes");
- }
-
- ret = get_allowed_nodes(NH_MEMS | NH_CPUS, 1, &nd1);
- switch (ret) {
- case 0:
- tst_res(TINFO, "get node%u.", nd1);
- return nd1;
- case -3:
- tst_brk(TCONF, "requires a NUMA system that has "
- "at least one node with both memory and CPU "
- "available.");
- default:
- tst_brk(TBROK | TERRNO, "2nd get_allowed_nodes");
- }
-
- /* not reached */
- abort();
-}
-
void update_shm_size(size_t * shm_size)
{
size_t shmmax;
--
2.45.2