Re: [PATCH] selftests/tracing: Have trigger-hist-poll.tc use sched_process_exit
From: Steven Rostedt
Date: Wed Jul 08 2026 - 16:39:22 EST
On Wed, 8 Jul 2026 16:34:36 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> From: Steven Rostedt <rostedt@xxxxxxxxxxx>
>
> Currently trigger-hist-poll.tc uses sched_process_free to test the polling
> of the histogram file. The way it does that is to run sleep, then execute
> the poll.c code that polls on the sched_process_free for up to 4 seconds
> to test that when sleep triggers the sched_process_free trace event, it
> will update the histogram and wake the poll.c code up.
>
> The issue is that sched_process_free trace event is called by
> delayed_put_task_struct() which is called after a RCU grace period has
> ended. If CONFIG_RCU_LAZY is enabled, RCU callbacks are batched together
> and do not execute right away. This causes the delayed_put_task_struct()
> to be called after the poll.c function finishes and it will report an
> error that it did not wake up on the event. That's because the event
> didn't trigger during its wait time.
>
> Use sched_process_exit instead, which is called when a process exits and
> doesn't depend on RCU callbacks that may be delayed.
>
> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
> ---
I forgot to mention that I tested this with and without CONFIG_RCU_LAZY.
With that config disabled, the test passes. With it enabled, it always
fails.
-- Steve