On Wed, 8 Jul 2026 16:34:36 -0400 Steven Rostedt <[email protected]> wrote:
> From: Steven Rostedt <[email protected]> > > 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 <[email protected]> > --- 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
