mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
cpupool: fix removing cpu from a cpupool
Commitcb563d7665("xen/sched: support core scheduling for moving cpus to/from cpupools") introduced a regression when trying to remove an offline cpu from a cpupool, as the system would crash in this situation. Fix that by testing the cpu to be online. Fixes:cb563d7665("xen/sched: support core scheduling for moving cpus to/from cpupools") Signed-off-by: Juergen Gross <jgross@suse.com> Acked-by: Dario Faggioli <dfaggioli@suse.com>
This commit is contained in:
1 parent
35b819c45c
commit
498d73647f
1 file changed
+3
@@ -552,6 +552,9 @@ static int cpupool_unassign_cpu(struct cpupool *c, unsigned int cpu)
|
||||
debugtrace_printk("cpupool_unassign_cpu(pool=%d,cpu=%d)\n",
|
||||
c->cpupool_id, cpu);
|
||||
|
||||
if ( !cpu_online(cpu) )
|
||||
return -EINVAL;
|
||||
|
||||
master_cpu = sched_get_resource_cpu(cpu);
|
||||
ret = cpupool_unassign_cpu_start(c, master_cpu);
|
||||
if ( ret )
|
||||
|
||||