aboutsummaryrefslogtreecommitdiffstats
path: root/src/vppinfra/cpu.c
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2020-10-09 17:16:55 +0200
committerDamjan Marion <damarion@cisco.com>2021-04-18 15:22:50 +0200
commitf8cb70177f3321e091632b26cf2a0a67b43878ea (patch)
treebd37760af3e597a4e5b4cfa4682912906d93a9c0 /src/vppinfra/cpu.c
parent30a819579cb396db1c975ae8e08477129aa7950d (diff)
vppinfra: remove linux/syscall.h
For portabiliy reasons it is better to have all wrapped in clib code. I.e. instead of using getcpu() we have clib_get_current_numa_node () and clib_get_current_cpu_id(). Type: refactor Change-Id: I29b52d7f29bc7f93873402c4070561f564b71c63 Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/vppinfra/cpu.c')
-rw-r--r--src/vppinfra/cpu.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/vppinfra/cpu.c b/src/vppinfra/cpu.c
index 4631eb3b896..d2edc61cfbf 100644
--- a/src/vppinfra/cpu.c
+++ b/src/vppinfra/cpu.c
@@ -222,7 +222,21 @@ format_cpu_flags (u8 * s, va_list * args)
#endif
}
+__clib_export u32
+clib_get_current_cpu_id ()
+{
+ unsigned cpu, node;
+ syscall (__NR_getcpu, &cpu, &node, 0);
+ return cpu;
+}
+__clib_export u32
+clib_get_current_numa_node ()
+{
+ unsigned cpu, node;
+ syscall (__NR_getcpu, &cpu, &node, 0);
+ return node;
+}
/*
* fd.io coding-style-patch-verification: ON