lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20140722120445.GB3935@laptop> Date: Tue, 22 Jul 2014 14:04:45 +0200 From: Peter Zijlstra <peterz@...radead.org> To: Rik van Riel <riel@...hat.com> Cc: linux-kernel@...r.kernel.org, Kirill Tkhai <ktkhai@...allels.com>, Tim Chen <tim.c.chen@...ux.intel.com>, Nicolas Pitre <nicolas.pitre@...aro.org>, mingo@...nel.org, pjt@...gle.com Subject: Re: [PATCH] sched: update last_balance only when actually balanced On Tue, Jul 22, 2014 at 02:21:21AM -0400, Rik van Riel wrote: > Currently rebalance_domains will happily update sd->last_balance > even if should_we_balance() decides that this CPU should not do > any load balancing for the sd. > > This can prevent the CPU that should load balance for the sd from > doing load balancing, which can delay active balancing essentially > forever. > > The solution is to only update sd->last_balance when load_balance() > actually did something. > > Signed-off-by: Rik van Riel <riel@...hat.com> > --- > kernel/sched/fair.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > 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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists