On Thu, Aug 31, 2023 at 04:48:29PM +0800, Hao Jia wrote: > If I understand correctly, rq->clock_update_flags may be set to > RQCF_ACT_SKIP after __schedule() holds the rq lock, and sometimes the rq > lock may be released briefly in __schedule(), such as newidle_balance(). At > this time Other CPUs hold this rq lock, and then calling > rq_clock_start_loop_update() may trigger this warning. > > This warning check might be wrong. We need to add assert_clock_updated() to > check that the rq clock has been updated before calling > rq_clock_start_loop_update(). > > Maybe some things can be like this? Urgh, aside from it being white space mangled, I think this is entirely going in the wrong direction. Leaking ACT_SKIP is dodgy as heck.. it's entirely too late to think clearly though, I'll have to try again tomorrow.