On Wed, 25 Oct 2023 05:42:19 -0400 Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > I ran a traceeval tool on it (still work in progress, but I can post when > it's done), and with the following trace, and the writes to trace-marker > (tracefs_printf) > > trace-cmd record -e sched_switch ./extend-sched > > It showed that without the extend, each task was preempted while holding > the lock around 200 times. With the extend, only one task was ever > preempted while holding the lock, and it only happened once! And looking at the trace, it was because it was preempted by an RT task. extend-sched-3349 [007] 3309.320747: print: tracing_mark_write: Have lock! extend-sched-3349 [007] 3309.320751: sched_switch: extend-sched:3349 [120] R ==> migration/7:68 [0] migration/7-68 [007] 3309.320754: sched_switch: migration/7:68 [0] S ==> extend-sched:3349 [120] extend-sched-3349 [007] 3309.320756: print: tracing_mark_write: released lock! So we know that part of the code works. ;-) -- Steve