summaryrefslogtreecommitdiffstats
path: root/include/trace/events
diff options
context:
space:
mode:
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>2022-11-22 15:39:06 -0500
committerPeter Zijlstra <peterz@infradead.org>2022-12-27 12:52:10 +0100
commitcbae6bac29a8c5cf2f1cb5c6bce35af00cec164b (patch)
tree6da97bf38a54c47204e5f352045999a50acc606d /include/trace/events
parentee3e3ac05c2631ce1f12d88c9cc9a092f8fe947a (diff)
downloadlinux-stable-cbae6bac29a8c5cf2f1cb5c6bce35af00cec164b.tar.gz
linux-stable-cbae6bac29a8c5cf2f1cb5c6bce35af00cec164b.tar.bz2
linux-stable-cbae6bac29a8c5cf2f1cb5c6bce35af00cec164b.zip
rseq: Extend struct rseq with numa node id
Adding the NUMA node id to struct rseq is a straightforward thing to do, and a good way to figure out if anything in the user-space ecosystem prevents extending struct rseq. This NUMA node id field allows memory allocators such as tcmalloc to take advantage of fast access to the current NUMA node id to perform NUMA-aware memory allocation. It can also be useful for implementing fast-paths for NUMA-aware user-space mutexes. It also allows implementing getcpu(2) purely in user-space. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lore.kernel.org/r/20221122203932.231377-5-mathieu.desnoyers@efficios.com
Diffstat (limited to 'include/trace/events')
-rw-r--r--include/trace/events/rseq.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/trace/events/rseq.h b/include/trace/events/rseq.h
index a04a64bc1a00..dde7a359b4ef 100644
--- a/include/trace/events/rseq.h
+++ b/include/trace/events/rseq.h
@@ -16,13 +16,15 @@ TRACE_EVENT(rseq_update,
TP_STRUCT__entry(
__field(s32, cpu_id)
+ __field(s32, node_id)
),
TP_fast_assign(
__entry->cpu_id = raw_smp_processor_id();
+ __entry->node_id = cpu_to_node(__entry->cpu_id);
),
- TP_printk("cpu_id=%d", __entry->cpu_id)
+ TP_printk("cpu_id=%d node_id=%d", __entry->cpu_id, __entry->node_id)
);
TRACE_EVENT(rseq_ip_fixup,