Re: [PATCH] tracing: Ensure optimized hashing works
From: Steven Rostedt <rostedt@goodmis.org>
Date: 2025-09-24 08:11:39
Also in:
lkml
On Tue, 23 Sep 2025 18:59:07 +0200 Michal Koutný [off-list ref] wrote:
quoted hunk ↗ jump to hunk
If ever PID_MAX_DEFAULT changes, it must be compatible with tracing hashmaps assumptions. Link: https://lore.kernel.org/r/20240409110126.651e94cb@gandalf.local.home/ (local) Signed-off-by: Michal Koutný <mkoutny@suse.com> --- kernel/trace/trace_sched_switch.c | 2 ++ 1 file changed, 2 insertions(+) Drive-by flushing an old idea. Take it or leave it.diff --git a/kernel/trace/trace_sched_switch.c b/kernel/trace/trace_sched_switch.c index cb49f7279dc80..aabae7daaac91 100644 --- a/kernel/trace/trace_sched_switch.c +++ b/kernel/trace/trace_sched_switch.c@@ -243,6 +243,8 @@ int trace_create_savedcmd(void) int trace_save_cmdline(struct task_struct *tsk) { unsigned tpid, idx; + /* so that map_pid_to_cmdline indexing is efficient */ + BUILD_BUG_ON(!is_power_of_2(PID_MAX_DEFAULT));
Please move this to just above the test. And it doesn't need a comment, as it's obvious for why it needs to be a power of two when it's above the test.
/* treat recording of idle task as a success */ if (!tsk->pid)
Like this: /* treat recording of idle task as a success */ if (!tsk->pid) return 1; + BUILD_BUG_ON(!is_power_of_2(PID_MAX_DEFAULT)); + tpid = tsk->pid & (PID_MAX_DEFAULT - 1); -- Steve