public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH] getcpu01: Reinstate node_id test
@ 2022-12-06 16:58 Richard Palethorpe via ltp
  2022-12-12 14:01 ` Richard Palethorpe
  2022-12-12 15:53 ` Cyril Hrubis
  0 siblings, 2 replies; 5+ messages in thread
From: Richard Palethorpe via ltp @ 2022-12-06 16:58 UTC (permalink / raw)
  To: ltp; +Cc: Richard Palethorpe

Presently the node_id is only checked on i386 and it is broken. The
sched_getcpu call was substituted for getcpu when
available. sched_getcpu does not have the node_id parameter and does
not even call SYS_getcpu if it can be completed by vDSO.

Also we can at least check the node_id on x86_64 as well.

Signed-off-by: Richard Palethorpe <rpalethorpe@suse.com>
---
 testcases/kernel/syscalls/getcpu/getcpu01.c | 22 +++++++++------------
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/testcases/kernel/syscalls/getcpu/getcpu01.c b/testcases/kernel/syscalls/getcpu/getcpu01.c
index fcc273e29..21c67f412 100644
--- a/testcases/kernel/syscalls/getcpu/getcpu01.c
+++ b/testcases/kernel/syscalls/getcpu/getcpu01.c
@@ -15,20 +15,16 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <sys/types.h>
+#include "tst_test.h"
 #include "lapi/syscalls.h"
 #include "lapi/cpuset.h"
-#include "tst_test.h"
 #include "config.h"
 
 static inline int get_cpu(unsigned *cpu_id,
-			  unsigned *node_id LTP_ATTRIBUTE_UNUSED,
-			  void *cache_struct LTP_ATTRIBUTE_UNUSED)
+			  unsigned *node_id)
 {
-#ifndef HAVE_SCHED_GETCPU
-	return tst_syscall(__NR_getcpu, cpu_id, node_id, cache_struct);
-#else
-	*cpu_id = sched_getcpu();
-#endif
+	return tst_syscall(__NR_getcpu, cpu_id, node_id, NULL);
+
 	return 0;
 }
 
@@ -78,7 +74,7 @@ realloc:
 	return cpu_max;
 }
 
-#ifdef __i386__
+#if  defined(__i386__) || defined(__x86_64__)
 static unsigned int get_nodeid(unsigned int cpu_id)
 {
 	DIR *directory_parent, *directory_node;
@@ -125,22 +121,22 @@ static void run(void)
 {
 	unsigned int cpu_id, node_id = 0;
 	unsigned int cpu_set;
-#ifdef __i386__
+#if defined(__i386__) || defined(__x86_64__)
 	unsigned int node_set;
 #endif
 
 	cpu_set = set_cpu_affinity();
-#ifdef __i386__
+#if defined(__i386__) || defined(__x86_64__)
 	node_set = get_nodeid(cpu_set);
 #endif
 
-	TEST(get_cpu(&cpu_id, &node_id, NULL));
+	TEST(get_cpu(&cpu_id, &node_id));
 	if (TST_RET == 0) {
 		if (cpu_id != cpu_set)
 			tst_res(TFAIL, "getcpu() returned wrong value"
 				" expected cpuid:%d, returned value cpuid: %d",
 				cpu_set, cpu_id);
-#ifdef __i386__
+#if defined(__i386__) || defined(__x86_64__)
 		else if (node_id != node_set)
 			tst_res(TFAIL, "getcpu() returned wrong value"
 				" expected  node id:%d returned  node id:%d",
-- 
2.38.1


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-12-13  9:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-06 16:58 [LTP] [PATCH] getcpu01: Reinstate node_id test Richard Palethorpe via ltp
2022-12-12 14:01 ` Richard Palethorpe
2022-12-12 15:53 ` Cyril Hrubis
2022-12-12 16:07   ` Richard Palethorpe
2022-12-13  9:48     ` Petr Vorel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox