[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] xen: cpupools: update domU's node-affinity on the cpupool_unassign_cpu() path
that is, when a cpu is remove from a pool, as it is happening already on the cpupool_assign_cpu_*() path (i.e., when a cpu is added to a pool). Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx> Cc: Juergen Gross <juergen.gross@xxxxxxxxxxxxxx> Cc: George Dunlap <George.Dunlap@xxxxxxxxxxxxx> Cc: Keir Fraser <keir@xxxxxxx> --- This patch was originally an hunk of the first version of a patch I sent last week as a bugfix for an ASSERT() triggering in the NUMA-aware scheduling code. Truned out that the bug was better fixe in a completely different way, and hence this part was killed from there... That's why I'm resending it now as a separate patch. Dario --- xen/common/cpupool.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/xen/common/cpupool.c b/xen/common/cpupool.c index 2164a9f..23e461d 100644 --- a/xen/common/cpupool.c +++ b/xen/common/cpupool.c @@ -355,6 +355,14 @@ int cpupool_unassign_cpu(struct cpupool *c, unsigned int cpu) atomic_inc(&c->refcnt); cpupool_cpu_moving = c; cpumask_clear_cpu(cpu, c->cpu_valid); + + rcu_read_lock(&domlist_read_lock); + for_each_domain_in_cpupool(d, c) + { + domain_update_node_affinity(d); + } + rcu_read_unlock(&domlist_read_lock); + spin_unlock(&cpupool_lock); work_cpu = smp_processor_id(); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |