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: Tue, 17 Mar 2020 20:24:01 +0100 From: Peter Zijlstra <peterz@...radead.org> To: Qais Yousef <qais.yousef@....com> Cc: Josh Don <joshdon@...gle.com>, Ingo Molnar <mingo@...hat.com>, Juri Lelli <juri.lelli@...hat.com>, Vincent Guittot <vincent.guittot@...aro.org>, Li Zefan <lizefan@...wei.com>, Tejun Heo <tj@...nel.org>, Johannes Weiner <hannes@...xchg.org>, Dietmar Eggemann <dietmar.eggemann@....com>, Steven Rostedt <rostedt@...dmis.org>, Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>, linux-kernel@...r.kernel.org, cgroups@...r.kernel.org, Paul Turner <pjt@...gle.com> Subject: Re: [PATCH v2] sched/cpuset: distribute tasks within affinity masks On Wed, Mar 11, 2020 at 02:05:33PM +0000, Qais Yousef wrote: > On 03/10/20 18:01, Josh Don wrote: > > From: Paul Turner <pjt@...gle.com> > > > > Currently, when updating the affinity of tasks via either cpusets.cpus, > > or, sched_setaffinity(); tasks not currently running within the newly > > specified mask will be arbitrarily assigned to the first CPU within the > > mask. > > > > This (particularly in the case that we are restricting masks) can > > result in many tasks being assigned to the first CPUs of their new > > masks. > > > > This: > > 1) Can induce scheduling delays while the load-balancer has a chance to > > spread them between their new CPUs. > > 2) Can antogonize a poor load-balancer behavior where it has a > > difficult time recognizing that a cross-socket imbalance has been > > forced by an affinity mask. > > > > This change adds a new cpumask interface to allow iterated calls to > > distribute within the intersection of the provided masks. > > > > The cases that this mainly affects are: > > - modifying cpuset.cpus > > - when tasks join a cpuset > > - when modifying a task's affinity via sched_setaffinity(2) > > > > Co-developed-by: Josh Don <joshdon@...gle.com> > > Signed-off-by: Josh Don <joshdon@...gle.com> > > Signed-off-by: Paul Turner <pjt@...gle.com> > Anyway, for the API. > > Reviewed-by: Qais Yousef <qais.yousef@....com> > Tested-by: Qais Yousef <qais.yousef@....com> Thanks guys!
Powered by blists - more mailing lists