Message ID | 20201026091316.25680-2-jgross@suse.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | xen: support per-cpupool scheduling granularity | expand |
On Mon, 2020-10-26 at 10:13 +0100, Juergen Gross wrote: > When a cpu is removed from a cpupool and added to the free cpus it > should be added to sched_res_mask, too. > > The related removal from sched_res_mask in case of core scheduling > is already done in schedule_cpu_add(). > > As long as all cpupools share the same scheduling granularity there > is nothing going wrong with the missing removal, > This patch is adding an addition of the CPU to sched_res_mask, which was missing... So isn't the above "there is nothing going wrong with the missing addition", or something like that? Or, if it's an actual missing removal that we are referring to here, then it must be clarified which one. > but this will change > when per-cpupool granularity is fully supported. > > Signed-off-by: Juergen Gross <jgross@suse.com> > With the above fixed or clarified: Reviewed-by: Dario Faggioli <dfaggioli@suse.com> Regards
On 11.11.20 15:32, Dario Faggioli wrote: > On Mon, 2020-10-26 at 10:13 +0100, Juergen Gross wrote: >> When a cpu is removed from a cpupool and added to the free cpus it >> should be added to sched_res_mask, too. >> >> The related removal from sched_res_mask in case of core scheduling >> is already done in schedule_cpu_add(). >> >> As long as all cpupools share the same scheduling granularity there >> is nothing going wrong with the missing removal, >> > This patch is adding an addition of the CPU to sched_res_mask, which > was missing... So isn't the above "there is nothing going wrong with > the missing addition", or something like that? Oh yes, of course. Will fix that. > > Or, if it's an actual missing removal that we are referring to here, > then it must be clarified which one. > >> but this will change >> when per-cpupool granularity is fully supported. >> >> Signed-off-by: Juergen Gross <jgross@suse.com> >> > With the above fixed or clarified: > > Reviewed-by: Dario Faggioli <dfaggioli@suse.com> Thanks, Juergen
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c index ed973e90ec..f8c81592af 100644 --- a/xen/common/sched/core.c +++ b/xen/common/sched/core.c @@ -3189,6 +3189,7 @@ int schedule_cpu_rm(unsigned int cpu) /* Adjust cpu masks of resources (old and new). */ cpumask_clear_cpu(cpu_iter, sr->cpus); cpumask_set_cpu(cpu_iter, sr_new[idx]->cpus); + cpumask_set_cpu(cpu_iter, &sched_res_mask); /* Init timer. */ init_timer(&sr_new[idx]->s_timer, s_timer_fn, NULL, cpu_iter);
When a cpu is removed from a cpupool and added to the free cpus it should be added to sched_res_mask, too. The related removal from sched_res_mask in case of core scheduling is already done in schedule_cpu_add(). As long as all cpupools share the same scheduling granularity there is nothing going wrong with the missing removal, but this will change when per-cpupool granularity is fully supported. Signed-off-by: Juergen Gross <jgross@suse.com> --- xen/common/sched/core.c | 1 + 1 file changed, 1 insertion(+)