From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH v2] credit: generalize __vcpu_has_soft_affinity() Date: Fri, 6 Mar 2015 11:38:16 +0000 Message-ID: <54F991A8.7090206@eu.citrix.com> References: <54F9672B0200007800066D4A@mail.emea.novell.com> <54F9792A.7030605@eu.citrix.com> <1425640326.12503.32.camel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1YTqaH-0006kA-BB for xen-devel@lists.xenproject.org; Fri, 06 Mar 2015 11:38:25 +0000 In-Reply-To: <1425640326.12503.32.camel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Dario Faggioli , George Dunlap Cc: "xen-devel@lists.xenproject.org" , "JBeulich@suse.com" List-Id: xen-devel@lists.xenproject.org On 03/06/2015 11:12 AM, Dario Faggioli wrote: > On Fri, 2015-03-06 at 09:53 +0000, George Dunlap wrote: >> On 03/06/2015 07:36 AM, Jan Beulich wrote: > >> It looks like the comment above this line could use changing too; >> > It probably does. > >> --- >> Hard affinity balancing is always necessary and must never be skipped. >> But soft affinity need only be considered when it has a functionally >> different effect than other constraints (such as hard affinity, cpus >> online, or cpupools). >> >> Soft affinity only needs to be considered if: >> * The cpus in the cpupool are not a subset of soft affinity >> * The hard affinity is not a subset of soft affinity >> * There is an overlap between the soft affinity and the mask which is >> currently being considered. >> --- > The original comment was more aimed at trying to make as evident as > possible to the reader why the occurrence of a particular combination of > hard and soft affinity makes using the latter pointless (perhaps it was > not that effective at that, but that's another story! :-D). > > So, if changing it, I'd go for something more 'high level'; something > that helps the reader grasp more quickly what is the actual meaning of > those _subsect() and _intersect() operations. Perhaps: > > --- > Hard affinity balancing is always necessary and must never be skipped. > Soft affinity balancing is only useful if it, potentially, makes a > difference. > > In more details, there is no point checking soft affinity if: > * there is no online pCPU in the domain's cpupool that is not in the > soft affinity mask > * there is no pCPU in the hard affinity mask that is not in the soft > affinity mask > * there is no overlapping between the soft affinity mask and the mask > being considered (which, in most cases, is the hard affinity mask) > --- I think what you've said here is almost exactly the same thing as what I said, except using different words. (i.e., "X not a subset of Y" means "there are X which are not in Y") I don't mind necessarily, but I'm not sure you've actually accomplished your purpose. :-) -George