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
| ||
|
Date: Wed, 29 Apr 2020 11:05:33 +0200 From: Peter Zijlstra <peterz@...radead.org> To: Scott Wood <swood@...hat.com> Cc: Valentin Schneider <valentin.schneider@....com>, Steven Rostedt <rostedt@...dmis.org>, Ingo Molnar <mingo@...hat.com>, Vincent Guittot <vincent.guittot@...aro.org>, Dietmar Eggemann <dietmar.eggemann@....com>, Rik van Riel <riel@...riel.com>, Mel Gorman <mgorman@...e.de>, linux-kernel@...r.kernel.org, linux-rt-users <linux-rt-users@...r.kernel.org> Subject: Re: [RFC PATCH 1/3] sched/fair: Call newidle_balance() from finish_task_switch() On Tue, Apr 28, 2020 at 06:20:32PM -0500, Scott Wood wrote: > On Wed, 2020-04-29 at 01:02 +0200, Peter Zijlstra wrote: > > On Tue, Apr 28, 2020 at 05:55:03PM -0500, Scott Wood wrote: > > > On Wed, 2020-04-29 at 00:09 +0200, Peter Zijlstra wrote: > > > > Also, if you move it this late, this is entirely the wrong place. If > > > > you > > > > do it after the context switch either use the balance_callback or put > > > > it > > > > in the idle path. > > > > > > > > But what Valentin said; this needs a fair bit of support, the whole > > > > reason we've never done this is to avoid that double context switch... > > > > > > > > > > balance_callback() enters with the rq lock held but BH not separately > > > > BH? softirqs you mean? Pray tell more. > > In https://lore.kernel.org/lkml/5122CD9C.9070702@oracle.com/ the need to > keep softirqs disabled during rebalance was brought up, but simply wrapping > the lock dropping in local_bh_enable()/local_bh_disable() meant that > local_bh_enable() would be called with interrupts disabled, which isn't > allowed. That thread, nor your explanation make any sense -- why do we care about softirqs?, nor do I see how placing it in finish_task_switch() helps with any of this. > > > disabled, which interferes with the ability to enable interrupts but not > > > BH. > > > It also gets called from rt_mutex_setprio() and __sched_setscheduler(), > > > and > > > I didn't want the caller of those to be stuck with the latency. > > > > You're not reading it right. > > Could you elaborate? If you were to do a queue_balance_callback() from somewhere in the pick_next_task() machinery, then the balance_callback() at the end of __schedule() would run it, and it'd be gone. How would rt_mutex_setprio() / __sched_setscheduler() be affected?
Powered by blists - more mailing lists