Messages in this thread Patch in this message | | | Date | Tue, 22 Jul 2014 11:46:39 -0400 | From | Rik van Riel <> | Subject | Re: [PATCH] sched: update last_balance only when actually balanced |
| |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 07/22/2014 08:04 AM, Peter Zijlstra wrote:
>> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index >> 45943b2..4f7fee2 100644 --- a/kernel/sched/fair.c +++ >> b/kernel/sched/fair.c @@ -7187,7 +7187,9 @@ static void >> rebalance_domains(struct rq *rq, enum cpu_idle_type idle) */ idle >> = idle_cpu(cpu) ? CPU_IDLE : CPU_NOT_IDLE; } - sd->last_balance >> = jiffies; + /* Only update if we actually balanced. */ + if >> (continue_balancing) + sd->last_balance = jiffies; interval = >> get_sd_balance_interval(sd, idle != CPU_IDLE); } if >> (need_serialize) > > Did you actually see any difference with this patch? > > The reason I'm asking is that the sched_domains are per cpu, so > the above assignment is only visible to that particular cpu, not > other cpus.
It was past 2AM, it may have been a placebo effect :)
Back to the drawing board, to figure out why the load balancing code is not working quite as expected...
- -- All rights reversed -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJTzodfAAoJEM553pKExN6DR3oH+wVSYjVu6eV1tzaDLw2xSvSl rO8hC9GtIf3LX8NVp/UTVkQXt7wWDLcpV4f+AO9+ikB9Dk5YD9wfTF6vhZVrP8GV Zjpd3HvO/H3RYomyDXLbocjZ97JsXBF7kxRWmYw0kixUIzhdt/sZKGc46aQXPnGy BfcGcYYbBKeFr9rrYTTvHwN5XVB1ZMZBEWiH/6baXGgZ5V/rTdcZDw0VGXailpbn eM5j33B9gCE6bYxD1uCrfZXdaO4BORCkiqfncpSVqLnl9k7B9HbY44bcbqht/qHy B/F/7+imlvAfhwfQAhj8EYomaAT2GI8m6Ab7frxagJURJ1McU3r+2dgkkhsSqP8= =QnLG -----END PGP SIGNATURE-----
| |