On 03/14/2012 06:45 AM, Andrew Cooper wrote: > On 13/03/12 19:15, Zhigang Wang wrote: >> On 03/13/2012 12:52 PM, Andrew Cooper wrote: >>> This will allow userspace to reason with the total number of CPUs, not >>> just the current number of online CPUs. >>> >>> -- Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer T: +44 (0)1223 225 >>> 900, http://www.citrix.com >>> >>> xl-info-max_cpu_id.patch >>> >>> >>> # HG changeset patch >>> # Parent 5d20d2f6ffed0a49f030f04a8870f1926babbcbf >>> xl: display max_cpu_ids for xl info >>> >>> Expose "max_cpu_id" in stdout from `xl info` >>> >>> Signed-off-by: Andrew Cooper >>> >>> diff -r 5d20d2f6ffed tools/libxl/xl_cmdimpl.c >>> --- a/tools/libxl/xl_cmdimpl.c >>> +++ b/tools/libxl/xl_cmdimpl.c >>> @@ -3734,6 +3734,7 @@ static void output_physinfo(void) >>> } >>> >>> printf("nr_cpus : %d\n", info.nr_cpus); >>> + printf("max_cpu_id : %d\n", info.max_cpu_id); >> >> Is this true: nr_cpus = max_cpu_id + 1 ? >> >> Zhigang > > if and only if all cpus are online. > > nr_cpus is set to nr_online_cpus() in the hypercall, while max_cpu_id is set > to nr_cpu_ids-1. > > nr_cpus is liable to change during runtime, while max_cpu_id is not. > > ~Andrew If this is the case, I think nr_cpus is a bit confusing. Can we make it always representing the number of physical cpus (from hypervisor's viewpoint, not dom0)? Zhigang > >> >>> printf("nr_nodes : %d\n", info.nr_nodes); >>> printf("cores_per_socket : %d\n", info.cores_per_socket); >>> printf("threads_per_core : %d\n", info.threads_per_core); >>> >>> >>> _______________________________________________ >>> Xen-devel mailing list >>> Xen-devel@lists.xen.org >>> http://lists.xen.org/xen-devel >> > > -- > Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer > T: +44 (0)1223 225 900, http://www.citrix.com