[apparmor] [PATCH] [parser] Fix jobs not scaling up to meet available resources when cpus are brought online during compilation
apparmor at cboltz.de
Tue Apr 5 20:51:36 UTC 2016
Am Dienstag, 5. April 2016, 13:22:19 CEST schrieb Seth Arnold:
> On Tue, Apr 05, 2016 at 12:37:07PM -0700, John Johansen wrote:
> > Enable dynamically scaling max jobs if new resources are brought
> > online
> > BugLink: http://bugs.launchpad.net/bugs/1566490
> > This patch enables to parser to scale the max jobs if new resources
> > are being brought online by the scheduler.
> > It only enables the scaling check if there is a difference between
> > the maximum number of cpus (CONF) and the number of online (ONLN)
> > cpus.
> > Instead of checking for more resources regardless, of whether the
> > online cpu count is increasing it limits its checking to a maximum
> > of MAX CPUS + 1 - ONLN cpus times. With each check coming after
> > fork spawns a new work unit, giving the scheduler a chance to bring
> > new cpus online before the next check. The +1 ensures the checks
> > will be done at least once after the scheduling task sleeps waiting
> > for its children giving the scheduler an extra chance to bring cpus
> > online.
Will it also reduce the number of processes if some CPUs are sent to
> > Signed-off-by: John Johansen <john.johansen at canonical.com>
> This feels more complicated than it could be but I must admit I can't
> suggest any modifications to the algorithm to simplify it.
It sounds too simple, and it might start too many jobs in some cases,
but - why not use the total number of CPUs from the beginning instead of
the currently online CPUs?
The only possible disadvantage is running "too many" jobs - would that
do any harm?
>Gibt es hier in dieser Liste eigentlich ausser mir noch jemanden ??
Nein, aber es laufen einige Robots, die Traffic vortäuschen. Ich bin
auch einer davon.
[Tobias Korb und Thorsten Haude in suse-programming]
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 819 bytes
Desc: This is a digitally signed message part.
More information about the AppArmor