From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH v4 03/15] libxl: introduce libxl_get_nr_cpus() Date: Tue, 3 Dec 2013 18:09:10 +0000 Message-ID: <529E1E46.2060106@eu.citrix.com> References: <20131122183332.11200.20231.stgit@Solace> <20131122185658.11200.13074.stgit@Solace> <21150.6530.28766.823281@mariner.uk.xensource.com> <1386093157.5338.337.camel@Solace> <21150.6842.156846.991072@mariner.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: <21150.6842.156846.991072@mariner.uk.xensource.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: Ian Jackson , Dario Faggioli Cc: Marcus Granado , Keir Fraser , Ian Campbell , Li Yechen , Andrew Cooper , Juergen Gross , xen-devel@lists.xen.org, Jan Beulich , Justin Weaver , Matt Wilson , Elena Ufimtseva List-Id: xen-devel@lists.xenproject.org On 12/03/2013 05:54 PM, Ian Jackson wrote: > Dario Faggioli writes ("Re: [PATCH v4 03/15] libxl: introduce libxl_get_nr_cpus()"): >> On mar, 2013-12-03 at 17:48 +0000, Ian Jackson wrote: >>> This number might be out of date as soon as it is read, won't it ? >> >> Quite possible, yes. >> >> So, are you suggesting that we shouldn't even allow the user to read it? >> Or that I should mention that in the comment? (Or something else?) > > Perhaps I didn't explain my concerns clearly enough. > > I wonder what is it for ? Isn't it difficult to use correctly ? Dario uses it in the new version of libxl_vcpu_set_affinity() to limit what was considered an "unreachable cpu" in its warning. (v5 14/17) That is, if you set the affinity to 1111111111111111111111..., and there are only 4 pcpus, it will return 111100000..... These don't match, and yet there are no unreachable cpus. So it asks nr_cpus first, then only compares bits 1..[nr_cpus-1]. I'm not sure how often that would change, but if there was a race, I think it would just be a spurious error message (or lack thereof). -George