|
[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 |