Peter, Frederic, 

Here's a v2 of the patch series to fix the loadavg spikes I'm seeing
on a v3.12 based kernel, caused by delaying load sampling if a sample
period was crossed while in NO_HZ idle.

I tried to make the changelog for PATCH 1 clearer this time around by
incorporating suggestions from both of you. Please let me know if it's
still unclear.

PATCH 2 addresses Peter's comment:

  "Irrespective the above though; should we not make this:
   
   +       this_rq->calc_load_update = READ_ONCE(calc_load_update);
   
   because if for some reason we do a double load of calc_load_update and
   see two different values, weird stuff could happen.
   
   And because, on general principle, a READ_ONCE() should be paired with a
   WRITE_ONCE(), that should be done too I suppose."

The v1 of the patch can be found here:

  https://lkml.kernel.org/r/[email protected]

Matt Fleming (2):
  sched/loadavg: Avoid loadavg spikes caused by delayed NO_HZ accounting
  sched/loadavg: Use {READ,WRITE}_ONCE() for sample window

 kernel/sched/loadavg.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

-- 
2.10.0

Reply via email to