One of our customers has reported that Xen determines the wrong topology for their machines, identifying them as 6 sockets x 4 cores when in fact they are 4 sockets x 6 cores (Intel(R) Xeon(R) CPU X7460 @ 2.66GHz stepping 01). The systems are IBM x3850 M2. I don''t have access to a machine, but from a log I suspect it has something to do with the strange APIC ids that are reported: (VMM) Booting processor 1/32 eip 8c000 ... (VMM) Booting processor 2/16 eip 8c000 ... (VMM) Booting processor 3/56 eip 8c000 (VMM) Booting processor 4/9 eip 8c000 (VMM) Booting processor 5/33 eip 8c000 (VMM) Booting processor 6/17 eip 8c000 (VMM) Booting processor 7/57 eip 8c000 (VMM) Booting processor 8/10 eip 8c000 (VMM) Booting processor 9/34 eip 8c000 (VMM) Booting processor 8/10 eip 8c000 (VMM) Booting processor 11/58 eip 8c000 (VMM) Booting processor 12/11 eip 8c000 (VMM) Booting processor 13/35 eip 8c000 (VMM) Booting processor 14/19 eip 8c000 (VMM) Booting processor 15/59 eip 8c000 (VMM) Booting processor 16/108 eip 8c000 (VMM) Booting processor 17/68 eip 8c000 (VMM) Booting processor 18/84 eip 8c000 (VMM) Booting processor 19/124 eip 8c000 (VMM) Booting processor 20/109 eip 8c000 (VMM) Booting processor 21/69 eip 8c000 (VMM) Booting processor 22/85 eip 8c000 (VMM) Booting processor 23/125 eip 8c000 phys_pkg_id() which is used in determining the topology appears to always read an id value from an APIC register, but I see that recent Linux kernels have much more elaborate logic in this area. Has anyone else seen this or know a solution? Thanks, /gary -- Gary Grebus Virtual Iron Software, Inc. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 07/05/2009 15:06, "Gary Grebus" <ggrebus@virtualiron.com> wrote:> One of our customers has reported that Xen determines the wrong topology > for their machines, identifying them as 6 sockets x 4 cores when in fact > they are 4 sockets x 6 cores (Intel(R) Xeon(R) CPU X7460 @ 2.66GHz > stepping 01). The systems are IBM x3850 M2.Where is this reported? Via the SYSCTL_physinfo hypercall? You might have to work backwards from the cpu_sibling_map and cpu_core_map values which are used there to derive the info returned by that hypercall. The fact that the APIC IDs of the CPUs are pretty random and jumbled as the CPUs are brought up should not matter. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Thu, 2009-05-07 at 15:34 +0100, Keir Fraser wrote:> On 07/05/2009 15:06, "Gary Grebus" <ggrebus@virtualiron.com> wrote: > > > One of our customers has reported that Xen determines the wrong topology > > for their machines, identifying them as 6 sockets x 4 cores when in fact > > they are 4 sockets x 6 cores (Intel(R) Xeon(R) CPU X7460 @ 2.66GHz > > stepping 01). The systems are IBM x3850 M2. > > Where is this reported? Via the SYSCTL_physinfo hypercall?Right.> You might have to > work backwards from the cpu_sibling_map and cpu_core_map values which are > used there to derive the info returned by that hypercall. The fact that the > APIC IDs of the CPUs are pretty random and jumbled as the CPUs are brought > up should not matter. >cpu_sibling_map[] and cpu_core_map[] are built based on the phys_proc_id[] and cpu_core_id[] arrays, which are set based on phys_pkg_id(), which is what led me back to the APIC IDs. I suspect the jumbled IDs come from the BIOS, and that CPUID might report the real topology, but was hoping someone familiar with the platform might confirm that. /gary _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 07/05/2009 18:32, "Gary Grebus" <ggrebus@virtualiron.com> wrote:> cpu_sibling_map[] and cpu_core_map[] are built based on the > phys_proc_id[] and cpu_core_id[] arrays, which are set based on > phys_pkg_id(), which is what led me back to the APIC IDs. > > I suspect the jumbled IDs come from the BIOS, and that CPUID might > report the real topology, but was hoping someone familiar with the > platform might confirm that.The BIOS IDs have to match the reality of the hardware, as they are the target for the IPIs that wake up each secondary processor in turn. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel