[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Reflect cpupool in numa node affinity
On Mon, 2012-01-23 at 09:51 +0000, Juergen Gross wrote: > @@ -365,15 +366,21 @@ void domain_update_node_affinity(struct > void domain_update_node_affinity(struct domain *d) > { > cpumask_t cpumask; > + cpumask_t online_affinity; > + cpumask_t *online; > nodemask_t nodemask = NODE_MASK_NONE; > struct vcpu *v; > unsigned int node; > > + online = (d->cpupool == NULL) ? &cpu_online_map : d->cpupool->cpu_valid; > cpumask_clear(&cpumask); > spin_lock(&d->node_affinity_lock); > > for_each_vcpu ( d, v ) > - cpumask_or(&cpumask, &cpumask, v->cpu_affinity); > + { > + cpumask_and(&online_affinity, v->cpu_affinity, online); > + cpumask_or(&cpumask, &cpumask, &online_affinity); > + } > > for_each_online_node ( node ) > if ( cpumask_intersects(&node_to_cpumask(node), &cpumask) ) Is there any possibility that the addition of the cpumask_and clause could result in the empty set? Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |