xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] xen: cpupools: update domU's node-affinity on the cpupool_unassign_cpu() path
@ 2013-09-27 15:46 Dario Faggioli
  2013-09-30  5:38 ` Juergen Gross
  0 siblings, 1 reply; 2+ messages in thread
From: Dario Faggioli @ 2013-09-27 15:46 UTC (permalink / raw)
  To: xen-devel; +Cc: George Dunlap, Juergen Gross, Keir Fraser

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@citrix.com>
Cc: Juergen Gross <juergen.gross@ts.fujitsu.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: Keir Fraser <keir@xen.org>
---
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();

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-09-30  5:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-27 15:46 [PATCH] xen: cpupools: update domU's node-affinity on the cpupool_unassign_cpu() path Dario Faggioli
2013-09-30  5:38 ` Juergen Gross

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).