lkml.org 
[lkml]   [2009]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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/

    \
     
     \ /
      Last update: 2009-08-13 11:29    [W:0.047 / U:30.028 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site