Andrew Theurer
2006-Feb-15 21:21 UTC
[Xen-devel] changeset 8831 gets sockets, cores, and siblings wrong
FWIW, I noticed that changeset 8831 gets the sockets/cores/siblings incorrect on my system. On 8830 I get 4 sockets per node, 2 cores per socket, and 2 threads per core. On 8831 I get 1 socket per node, 2 cores per socket, and 8 threads per core. Xen boot messages still appear to show four distinct physical cpus (sockets). Just wondering if anyone has noticed this behavior. -Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2006-Feb-16 11:45 UTC
Re: [Xen-devel] changeset 8831 gets sockets, cores, and siblings wrong
On 15 Feb 2006, at 21:21, Andrew Theurer wrote:> FWIW, I noticed that changeset 8831 gets the sockets/cores/siblings > incorrect on my system. On 8830 I get 4 sockets per node, 2 cores per > socket, and 2 threads per core. On 8831 I get 1 socket per node, 2 > cores per socket, and 8 threads per core. Xen boot messages still > appear to show four distinct physical cpus (sockets). Just wondering > if anyone has noticed this behavior.This all stems from an incorrect value for smp_num_siblings. This could come from one of two places: 1. Do you get a message ''WARNING: 8 siblings found for CPUx, should be 2'' during boot? If so, smpboot.c is screwing up the smp_num_siblings calculation. 2. Otherwise, detect_ht() in arch/x86/cpu/common.c must be the culprit, and you''ll need to add some tracing to it to find out where the value ''8'' is coming from. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Andrew Theurer
2006-Feb-16 18:18 UTC
Re: [Xen-devel] [PATCH] changeset 8831 gets sockets, cores, and siblings wrong
Keir Fraser wrote:> > On 15 Feb 2006, at 21:21, Andrew Theurer wrote: > >> FWIW, I noticed that changeset 8831 gets the sockets/cores/siblings >> incorrect on my system. On 8830 I get 4 sockets per node, 2 cores >> per socket, and 2 threads per core. On 8831 I get 1 socket per node, >> 2 cores per socket, and 8 threads per core. Xen boot messages still >> appear to show four distinct physical cpus (sockets). Just wondering >> if anyone has noticed this behavior. > > This all stems from an incorrect value for smp_num_siblings. This > could come from one of two places: > 1. Do you get a message ''WARNING: 8 siblings found for CPUx, should > be 2'' during boot? If so, smpboot.c is screwing up the > smp_num_siblings calculation. > 2. Otherwise, detect_ht() in arch/x86/cpu/common.c must be the > culprit, and you''ll need to add some tracing to it to find out where > the value ''8'' is coming from.It looks like with changeset 8831 cpu_core_ids are no longer unique across phys cpus. So, when we search for siblings to populate cpu_sibling_map, just checking for same core IDs are not good enough. Both core ID and phys cpu ID have to match. Patch attached fixes this. -Andrew <signed-off-by: habanero@us.ibm.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2006-Feb-16 18:27 UTC
Re: [Xen-devel] [PATCH] changeset 8831 gets sockets, cores, and siblings wrong
On 16 Feb 2006, at 18:18, Andrew Theurer wrote:> It looks like with changeset 8831 cpu_core_ids are no longer unique > across phys cpus. So, when we search for siblings to populate > cpu_sibling_map, just checking for same core IDs are not good enough. > Both core ID and phys cpu ID have to match. Patch attached fixes > this.Thanks. It turns out all that code in smpboot.c disappeared in the latest 2.6 codebase, so I upgraded to that and the problem has gone away. :-) -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel