[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/5] xen: credit2: never consider CPUs outside of our cpupool.
>>> On 17.01.17 at 18:26, <dario.faggioli@xxxxxxxxxx> wrote: > In fact, relying on the mask of what pCPUs belong to > which Credit2 runqueue is not enough. If we only do that, > when Credit2 is the boot scheduler, we may ASSERT() or > panic when moving a pCPU from Pool-0 to another cpupool. > > This is because pCPUs outside of any pool are considered > part of cpupool0. This puts us at risk of crash when those > same pCPUs are added to another pool and something > different than the idle domain is found to be running > on them. > > Note that, even if we prevent the above to happen (which > is the purpose of this patch), this is still pretty bad, > in fact, when we remove a pCPU from Pool-0: > - in Credit1, as we do *not* update prv->ncpus and > prv->credit, which means we're considering the wrong > total credits when doing accounting; > - in Credit2, the pCPU remains part of one runqueue, > and is hence at least considered during load balancing, > even if no vCPU should really run there. > > In Credit1, this "only" causes skewed accounting and > no crashes because there is a lot of `cpumask_and`ing > going on with the cpumask of the domains' cpupool > (which, BTW, comes at a price). > > A quick and not to involved (and easily backportable) > solution for Credit2, is to do exactly the same. > > Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx > --- > Cc: George Dunlap <george.dunlap@xxxxxxxxxxxxx> > Cc: Juergen Gross <jgross@xxxxxxxx> > Cc: Jan Beulich <jbeulich@xxxxxxxx> > --- > This is a bugfix, and should be backported to 4.8. While I did manage to backport "xen: credit2: use the correct scratch cpumask" and "xen: credit2: fix shutdown/suspend when playing with cpupools" also to 4.7, this one is even worse for me to deal with (purely by its subject I'd assume it's applicable): Its first hunk applies fine, but then everything breaks. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |