On Wed, 23 Jun 2021 at 17:13, Odin Ugedal <odin@xxxxxxx> wrote: > > ons. 23. jun. 2021 kl. 15:56 skrev Vincent Guittot <vincent.guittot@xxxxxxxxxx>: > > > > > > The pelt value of sched_entity is synced with cfs and its contrib > > before being removed. > > > Hmm. Not sure what you mean by sched_entity here, since this is only > taking the "removed" load_avg > and removing it from cfs_rq, together with (removed.load_avg * > divider) from load_sum. (Although. ".removed" comes from > a sched entity) The sched_entity's load_avg that is put in removed.load, is sync with the cfs_rq PELT signal, which includes contrib, before being added to removed.load. > > > Then, we start to remove this load in update_cfs_rq_load_avg() before > > calling __update_load_avg_cfs_rq so contrib should not have change and > > we should be safe > > For what it is worth, I am now able to reproduce it (maybe > CONFIG_HZ=300/250 is the thing) as reported by Sachin, > and my patch makes it disappear. Without my patch I see situations > where _sum is zero while _avg is eg. 1 or 2 or 14 (in that range). hmm, so there is something wrong in the propagation > This happens for both load, runnable and util. > > Lets see what Sachin reports back. > > Thanks > Odin