From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: Re: [PATCH] Reflect cpupool in numa node affinity Date: Mon, 23 Jan 2012 12:31:13 +0100 Message-ID: <4F1D4501.8060608@ts.fujitsu.com> References: <1327316595.24561.44.camel@zakaz.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1327316595.24561.44.camel@zakaz.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Campbell Cc: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org On 01/23/2012 12:03 PM, Ian Campbell wrote: > 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? No. v->cpu_affinity is set to all ones if: - the domain is moved to another cpupool - the last cpu which is set in v->cpu_affinity is removed from the cpupool the domain is assigned to Juergen -- Juergen Gross Principal Developer Operating Systems PDG ES&S SWE OS6 Telephone: +49 (0) 89 3222 2967 Fujitsu Technology Solutions e-mail: juergen.gross@ts.fujitsu.com Domagkstr. 28 Internet: ts.fujitsu.com D-80807 Muenchen Company details: ts.fujitsu.com/imprint.html