summaryrefslogtreecommitdiff
path: root/internal/tracepoints
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-29 10:13:18 +0300
committerPaul Buetow <paul@buetow.org>2026-05-29 10:13:18 +0300
commit49b16417d9f52c8ddb48b158b73ccda31fd26982 (patch)
tree476c463c6fa86874af4c211f993befb47af04e83 /internal/tracepoints
parentd0850ae4dd8688f07c67245ce4e30f90e073a9c1 (diff)
family: classify futex syscalls as IPC instead of Misc
Audit of futex_wake found that the futex family syscalls (futex, futex_wait, futex_wake, futex_requeue, futex_waitv) were absent from the syscallFamilies map and fell through to FamilyMisc. Per futex(2) ("fast user-space locking"), these are shared-memory synchronization/IPC primitives, conceptually identical to the System V semaphores (semop/semget) already tagged FamilyIPC. Group them under IPC so per-family aggregation/reporting bins them with the other synchronization primitives. Argument and return-value handling were already correct: futex_wake's first arg (uaddr) is a userspace pointer, captured via KindFutex (null_event), and the exit ret_event records the woken-waiter count (>=0) or -1 on error. Add lock-in unit tests in family_test.go and regenerate the C/Go artifacts (generated_tracepoints.go, generated_types.go). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'internal/tracepoints')
-rw-r--r--internal/tracepoints/generated_tracepoints.go10
1 files changed, 5 insertions, 5 deletions
diff --git a/internal/tracepoints/generated_tracepoints.go b/internal/tracepoints/generated_tracepoints.go
index 5ff2f5c..b1d3ce9 100644
--- a/internal/tracepoints/generated_tracepoints.go
+++ b/internal/tracepoints/generated_tracepoints.go
@@ -815,11 +815,11 @@ var syscallFamilies = map[string]string{
"fstatfs": "FS",
"fsync": "FS",
"ftruncate": "FS",
- "futex": "Misc",
- "futex_requeue": "Misc",
- "futex_wait": "Misc",
- "futex_waitv": "Misc",
- "futex_wake": "Misc",
+ "futex": "IPC",
+ "futex_requeue": "IPC",
+ "futex_wait": "IPC",
+ "futex_waitv": "IPC",
+ "futex_wake": "IPC",
"futimesat": "FS",
"get_mempolicy": "Security",
"get_robust_list": "Misc",