linux/arch
Andreas Herrmann 99bd0c0fc4 x86: Set cpu_llc_id on AMD CPUs
This counts when building sched domains in case NUMA information
is not available.

( See cpu_coregroup_mask() which uses llc_shared_map which in turn is
  created based on cpu_llc_id. )

Currently Linux builds domains as follows:
(example from a dual socket quad-core system)

 CPU0 attaching sched-domain:
  domain 0: span 0-7 level CPU
   groups: 0 1 2 3 4 5 6 7

  ...

 CPU7 attaching sched-domain:
  domain 0: span 0-7 level CPU
   groups: 7 0 1 2 3 4 5 6

Ever since that is borked for multi-core AMD CPU systems.
This patch fixes that and now we get a proper:

 CPU0 attaching sched-domain:
  domain 0: span 0-3 level MC
   groups: 0 1 2 3
   domain 1: span 0-7 level CPU
    groups: 0-3 4-7

  ...

 CPU7 attaching sched-domain:
  domain 0: span 4-7 level MC
   groups: 7 4 5 6
   domain 1: span 0-7 level CPU
    groups: 4-7 0-3

This allows scheduler to assign tasks to cores on different sockets
(i.e. that don't share last level cache) for performance reasons.

Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
LKML-Reference: <20090619085909.GJ5218@alberich.amd.com>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-06-21 10:13:32 +02:00
..
alpha Delete pcibios_select_root 2009-06-17 14:04:42 -07:00
arm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-06-20 10:17:02 -07:00
avr32 ptrace: remove PT_DTRACE from avr32, mn10300, parisc, s390, sh, xtensa 2009-06-18 13:03:48 -07:00
blackfin Blackfin: convert page/tlb to asm-generic 2009-06-18 21:42:30 -04:00
cris kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
frv mm: consolidate init_mm definition 2009-06-16 19:47:28 -07:00
h8300 ptrace: remove PT_DTRACE from arch/h8300 2009-06-18 13:03:48 -07:00
ia64 dma-mapping: ia64: add CONFIG_DMA_API_DEBUG support 2009-06-18 13:03:58 -07:00
m32r ptrace: remove PT_DTRACE from arch/m32r 2009-06-18 13:03:49 -07:00
m68k ptrace: remove PT_DTRACE from m68k, m68knommu 2009-06-18 13:03:48 -07:00
m68knommu ptrace: remove PT_DTRACE from m68k, m68knommu 2009-06-18 13:03:48 -07:00
microblaze microblaze: Add missing symbols for CONSTRUCTORS support 2009-06-20 14:36:58 +02:00
mips Delete pcibios_select_root 2009-06-17 14:04:42 -07:00
mn10300 MN10300: Add support for new ELF relocs in kernel modules 2009-06-18 13:10:33 -07:00
parisc ptrace: remove PT_DTRACE from avr32, mn10300, parisc, s390, sh, xtensa 2009-06-18 13:03:48 -07:00
powerpc Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-20 11:29:32 -07:00
s390 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-20 10:56:46 -07:00
sh Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-06-18 14:07:35 -07:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 2009-06-19 17:42:01 -07:00
um Merge branch 'akpm' 2009-06-16 19:50:13 -07:00
x86 x86: Set cpu_llc_id on AMD CPUs 2009-06-21 10:13:32 +02:00
xtensa ptrace: remove PT_DTRACE from avr32, mn10300, parisc, s390, sh, xtensa 2009-06-18 13:03:48 -07:00
.gitignore
Kconfig gcov: add gcov profiling infrastructure 2009-06-18 13:03:57 -07:00