Messages in this thread | | | Date | Thu, 13 Aug 2009 11:21:51 +0200 | From | Andreas Herrmann <> | Subject | Re: [PATCH 0/8 v5] x86: Adapt CPU topology detection for AMD Magny-Cours |
| |
On Wed, Aug 12, 2009 at 05:22:07PM -0600, Alex Chiang wrote: > Hi Andreas, > > * Andreas Herrmann <andreas.herrmann3@amd.com>: > > Changes to previous patch set: > > - added patch to swap semantic of cpu_node_siblings and core_siblings > > - new patch to convert alloc/clear of cpumask to zalloc > > - added patch to update cputopology documentation > > > > Current patch set contains 8 patches: > > - patch 1 adapts common code to show cpu_node_id, > > cpu_node_siblings and cpu_node_siblings_list in > > /sys/devices/system/cpu/cpu*/topology > > - patch 2 prepares arch/x86 to provide cpu_node information > > - patch 3 sets up cpu_node information for AMD Magny-Cours CPU > > Do only Magny-Cours have the concept of a 'node' or should > Istanbul have nodes too?
Magny-Cours will be the first AMD processor having two internal nodes. Istanbul is one node per socket. See your output, node_id is always 0. You have 6 cores per socket. And with each socket (every 6 cores) the physical_id changes.
With Magny-Cours up 12 cores will have the same physical_id as they are all on the same socket. But 6 cores out of that will have node_id 0 and the other 6 cores will have node_id 1.
Regards, Andreas
-- Operating | Advanced Micro Devices GmbH System | Karl-Hammerschmidt-Str. 34, 85609 Dornach b. München, Germany Research | Geschäftsführer: Thomas M. McCoy, Giuliano Meroni Center | Sitz: Dornach, Gemeinde Aschheim, Landkreis München (OSRC) | Registergericht München, HRB Nr. 43632
> Here is the output of my system with your patchset applied. > First, a representative entry from /proc/cpuinfo. > > processor : 0 > vendor_id : AuthenticAMD > cpu family : 16 > model : 8 > model name : Six-Core AMD Opteron(tm) Processor 8439 SE > stepping : 0 > cpu MHz : 800.000 > cache size : 512 KB > physical id : 0 > siblings : 6 > node id : 0 > core id : 0 > cpu cores : 6 > apicid : 0 > initial apicid : 0 > fpu : yes > fpu_exception : yes > cpuid level : 5 > wp : yes > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt > bogomips : 5586.65 > TLB size : 1024 4K pages > clflush size : 64 > cache_alignment : 64 > address sizes : 48 bits physical, 48 bits virtual > power management: ts ttp tm stc 100mhzsteps hwpstate > > I do have the powernow_k8 module loaded too (so ignore the funny > MHz output). > > # lsmod | grep k8 > powernow_k8 13764 0 > processor 47724 1 powernow_k8 > > Here is the output with just a few fields selected. > > # cat /proc/cpuinfo | egrep '^node|^core|processor|^physical|apicid' > processor : 0 > physical id : 0 > node id : 0 > core id : 0 > apicid : 0 > initial apicid : 0 > processor : 1 > physical id : 1 > node id : 0 > core id : 0 > apicid : 8 > initial apicid : 8 > processor : 2 > physical id : 2 > node id : 0 > core id : 0 > apicid : 16 > initial apicid : 16 > processor : 3 > physical id : 3 > node id : 0 > core id : 0 > apicid : 24 > initial apicid : 24 > processor : 4 > physical id : 4 > node id : 0 > core id : 0 > apicid : 32 > initial apicid : 32 > processor : 5 > physical id : 5 > node id : 0 > core id : 0 > apicid : 40 > initial apicid : 40 > processor : 6 > physical id : 6 > node id : 0 > core id : 0 > apicid : 48 > initial apicid : 48 > processor : 7 > physical id : 7 > node id : 0 > core id : 0 > apicid : 56 > initial apicid : 56 > processor : 8 > physical id : 0 > node id : 0 > core id : 1 > apicid : 1 > initial apicid : 1 > processor : 9 > physical id : 1 > node id : 0 > core id : 1 > apicid : 9 > initial apicid : 9 > processor : 10 > physical id : 2 > node id : 0 > core id : 1 > apicid : 17 > initial apicid : 17 > processor : 11 > physical id : 3 > node id : 0 > core id : 1 > apicid : 25 > initial apicid : 25 > processor : 12 > physical id : 4 > node id : 0 > core id : 1 > apicid : 33 > initial apicid : 33 > processor : 13 > physical id : 5 > node id : 0 > core id : 1 > apicid : 41 > initial apicid : 41 > processor : 14 > physical id : 6 > node id : 0 > core id : 1 > apicid : 49 > initial apicid : 49 > processor : 15 > physical id : 7 > node id : 0 > core id : 1 > apicid : 57 > initial apicid : 57 > processor : 16 > physical id : 0 > node id : 0 > core id : 2 > apicid : 2 > initial apicid : 2 > processor : 17 > physical id : 1 > node id : 0 > core id : 2 > apicid : 10 > initial apicid : 10 > processor : 18 > physical id : 2 > node id : 0 > core id : 2 > apicid : 18 > initial apicid : 18 > processor : 19 > physical id : 3 > node id : 0 > core id : 2 > apicid : 26 > initial apicid : 26 > processor : 20 > physical id : 4 > node id : 0 > core id : 2 > apicid : 34 > initial apicid : 34 > processor : 21 > physical id : 5 > node id : 0 > core id : 2 > apicid : 42 > initial apicid : 42 > processor : 22 > physical id : 6 > node id : 0 > core id : 2 > apicid : 50 > initial apicid : 50 > processor : 23 > physical id : 7 > node id : 0 > core id : 2 > apicid : 58 > initial apicid : 58 > processor : 24 > physical id : 0 > node id : 0 > core id : 3 > apicid : 3 > initial apicid : 3 > processor : 25 > physical id : 1 > node id : 0 > core id : 3 > apicid : 11 > initial apicid : 11 > processor : 26 > physical id : 2 > node id : 0 > core id : 3 > apicid : 19 > initial apicid : 19 > processor : 27 > physical id : 3 > node id : 0 > core id : 3 > apicid : 27 > initial apicid : 27 > processor : 28 > physical id : 4 > node id : 0 > core id : 3 > apicid : 35 > initial apicid : 35 > processor : 29 > physical id : 5 > node id : 0 > core id : 3 > apicid : 43 > initial apicid : 43 > processor : 30 > physical id : 6 > node id : 0 > core id : 3 > apicid : 51 > initial apicid : 51 > processor : 31 > physical id : 7 > node id : 0 > core id : 3 > apicid : 59 > initial apicid : 59 > processor : 32 > physical id : 0 > node id : 0 > core id : 4 > apicid : 4 > initial apicid : 4 > processor : 33 > physical id : 1 > node id : 0 > core id : 4 > apicid : 12 > initial apicid : 12 > processor : 34 > physical id : 2 > node id : 0 > core id : 4 > apicid : 20 > initial apicid : 20 > processor : 35 > physical id : 3 > node id : 0 > core id : 4 > apicid : 28 > initial apicid : 28 > processor : 36 > physical id : 4 > node id : 0 > core id : 4 > apicid : 36 > initial apicid : 36 > processor : 37 > physical id : 5 > node id : 0 > core id : 4 > apicid : 44 > initial apicid : 44 > processor : 38 > physical id : 6 > node id : 0 > core id : 4 > apicid : 52 > initial apicid : 52 > processor : 39 > physical id : 7 > node id : 0 > core id : 4 > apicid : 60 > initial apicid : 60 > processor : 40 > physical id : 0 > node id : 0 > core id : 5 > apicid : 5 > initial apicid : 5 > processor : 41 > physical id : 1 > node id : 0 > core id : 5 > apicid : 13 > initial apicid : 13 > processor : 42 > physical id : 2 > node id : 0 > core id : 5 > apicid : 21 > initial apicid : 21 > processor : 43 > physical id : 3 > node id : 0 > core id : 5 > apicid : 29 > initial apicid : 29 > processor : 44 > physical id : 4 > node id : 0 > core id : 5 > apicid : 37 > initial apicid : 37 > processor : 45 > physical id : 5 > node id : 0 > core id : 5 > apicid : 45 > initial apicid : 45 > processor : 46 > physical id : 6 > node id : 0 > core id : 5 > apicid : 53 > initial apicid : 53 > processor : 47 > physical id : 7 > node id : 0 > core id : 5 > apicid : 61 > initial apicid : 61 > > Thanks. > > /ac > >
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |