Messages in this thread | | | From | Matt Fleming <> | Subject | [PATCH v2 0/2] sched/loadavg: Fix loadavg spikes and sprinkle {READ,WRITE}_ONCE() | Date | Fri, 17 Feb 2017 12:07:29 +0000 |
| |
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/20170208132924.3038-1-matt@codeblueprint.co.uk
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
| |