linux/arch/x86_64/kernel
Siddha, Suresh B 1e9f28fa1e [PATCH] sched: new sched domain for representing multi-core
Add a new sched domain for representing multi-core with shared caches
between cores.  Consider a dual package system, each package containing two
cores and with last level cache shared between cores with in a package.  If
there are two runnable processes, with this appended patch those two
processes will be scheduled on different packages.

On such systems, with this patch we have observed 8% perf improvement with
specJBB(2 warehouse) benchmark and 35% improvement with CFP2000 rate(with 2
users).

This new domain will come into play only on multi-core systems with shared
caches.  On other systems, this sched domain will be removed by domain
degeneration code.  This new domain can be also used for implementing power
savings policy (see OLS 2005 CMP kernel scheduler paper for more details..
I will post another patch for power savings policy soon)

Most of the arch/* file changes are for cpu_coregroup_map() implementation.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:43 -08:00
..
acpi [ACPI] Avoid BIOS inflicted crashes by evaluating _PDC only once 2005-12-01 01:30:35 -05:00
cpufreq Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aperture.c [PATCH] x86_64: Search K8 devices on more devices. 2006-03-25 09:14:38 -08:00
apic.c [PATCH] x86_64: timer interrupt lockup due to pending interrupt 2006-03-25 09:10:57 -08:00
asm-offsets.c [PATCH] x86_64: Allow nesting of int3 by default for kprobes 2006-01-16 11:27:58 -08:00
crash_dump.c [PATCH] kdump: read previous kernel's memory 2006-01-10 08:01:28 -08:00
crash.c [PATCH] kdump: x86_64 save cpu registers upon crash 2006-01-10 08:01:28 -08:00
e820.c [PATCH] kdump: x86_64: add memmmap command line option 2006-01-10 08:01:27 -08:00
early_printk.c [PATCH] early_printk: cleanup trailiing whitespace 2006-03-24 07:33:25 -08:00
entry.S [PATCH] x86_64: Report SIGSEGV for IRET faults 2006-03-25 09:14:39 -08:00
functionlist [PATCH] x86_64: Basic reorder infrastructure 2006-03-25 09:10:56 -08:00
genapic_cluster.c [PATCH] x86_64/i386: Remove preempt disable calls in lowlevel IPI 2006-01-11 19:01:57 -08:00
genapic_flat.c [PATCH] x86_64/i386: Remove preempt disable calls in lowlevel IPI 2006-01-11 19:01:57 -08:00
genapic.c [PATCH] x86-64: Use physflat on Intel for < 8 CPUs with CPU hotplug 2005-09-12 10:50:56 -07:00
head64.c [PATCH] i386/x86-64: make setup_early_printk() usage consistent 2006-01-11 19:05:04 -08:00
head.S [PATCH] x86_64: Patch to make the head.S-must-be-first-in-vmlinux order explicit 2006-03-25 09:10:55 -08:00
i387.c [PATCH] amd64: task_thread_info() 2006-01-12 09:08:51 -08:00
i8259.c [PATCH] amd64: task_thread_info() 2006-01-12 09:08:51 -08:00
init_task.c [PATCH] Change maxaligned_in_smp alignemnt macros to internodealigned_in_smp macros 2006-01-08 20:13:38 -08:00
io_apic.c [PATCH] x86_64: fix orphaned bits of timer init messages 2006-03-25 09:10:56 -08:00
ioport.c [PATCH] capable/capability.h (arch/) 2006-01-11 18:42:14 -08:00
irq.c [PATCH] more for_each_cpu() conversions 2006-03-23 07:38:17 -08:00
kprobes.c [PATCH] kprobes: fix broken fault handling for x86_64 2006-03-26 08:57:04 -08:00
ldt.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
machine_kexec.c [PATCH] fix kexec asm 2006-03-08 14:15:04 -08:00
Makefile [PATCH] x86-64: react to new topology.c location 2006-02-25 11:12:15 -08:00
mce_amd.c [PATCH] x86_64: Sparse warnings fix. 2006-01-11 19:05:00 -08:00
mce_intel.c [PATCH] x86_64: Some housekeeping in local APIC code 2006-01-11 19:05:03 -08:00
mce.c [PATCH] x86_64: {set,clear,test}_bit() related cleanup and pci_mmcfg_init() fix 2006-03-24 07:33:15 -08:00
module.c [PATCH] uml: kludgy compilation fixes for x86-64 subarch modules support 2005-05-05 16:36:33 -07:00
mpparse.c [PATCH] x86_64: cleanup allocating logical cpu numbers in x86_64 2006-03-25 09:10:53 -08:00
nmi.c [PATCH] x86_64: actively synchronize vmalloc area when registering certain callbacks 2006-03-25 09:10:53 -08:00
pci-dma.c [PATCH] x86_64: Don't invoke OOM killer during dma_alloc_coherent() 2006-03-25 09:10:55 -08:00
pci-gart.c [PATCH] x86_64: Search K8 devices on more devices. 2006-03-25 09:14:38 -08:00
pci-nommu.c [PATCH] x86_64: IOMMU printk cleanup 2006-02-04 16:43:15 -08:00
pci-swiotlb.c [PATCH] x86_64: IOMMU printk cleanup 2006-02-04 16:43:15 -08:00
pmtimer.c [PATCH] x86_64: Add cpu_relax() to busy loops in PM timer code 2006-03-25 09:14:39 -08:00
process.c [PATCH] kretprobe instance recycled by parent process 2006-03-26 08:57:04 -08:00
ptrace.c [PATCH] x86_64: disallow multi-byte hardware execution breakpoints 2006-03-25 09:10:52 -08:00
reboot.c [PATCH] i386/x86-64: Don't IPI to offline cpus on shutdown 2006-01-11 19:04:50 -08:00
relocate_kernel.S [PATCH] kexec: x86_64 kexec implementation 2005-06-25 16:24:50 -07:00
setup64.c [PATCH] x86_64: Change default setting for noexec32 to match i386 kernel 2006-03-25 09:10:56 -08:00
setup.c [PATCH] sched: new sched domain for representing multi-core 2006-03-27 08:44:43 -08:00
signal.c [PATCH] swsusp: finally solve mysqld problem 2006-03-23 07:38:08 -08:00
smp.c [PATCH] x86_64: Use cpumask bitops for cpu_vm_mask 2006-03-25 09:10:56 -08:00
smpboot.c [PATCH] sched: new sched domain for representing multi-core 2006-03-27 08:44:43 -08:00
suspend_asm.S [PATCH] x86_64: Set up safe page tables during resume 2005-10-10 08:36:46 -07:00
suspend.c [PATCH] x86_64: Align and pad x86_64 GDT on page boundary 2006-01-11 19:04:53 -08:00
sys_x86_64.c [PATCH] x86_64: Use common sys_time64 2005-11-14 19:55:17 -08:00
syscall.c [PATCH] x86/x86_64: mark rodata section read-only: make some datastructures const 2006-01-06 08:33:36 -08:00
time.c [PATCH] x86_64: Reename CMOS update warning 2006-03-25 09:10:55 -08:00
trampoline.S [PATCH] x86_64: Fix SMP bootup with CONFIG_KDUMP enabled 2006-01-11 19:09:58 -08:00
traps.c [PATCH] x86_64: miscellaneous cleanup 2006-03-25 09:10:54 -08:00
vmlinux.lds.S [PATCH] x86_64: Basic reorder infrastructure 2006-03-25 09:10:56 -08:00
vsmp.c [PATCH] x86_64: Inclusion of ScaleMP vSMP architecture patches - vsmp_arch 2006-01-11 19:05:01 -08:00
vsyscall.c [PATCH] x86_64: Use standard __always_inline in vsyscall.c 2006-01-11 19:04:58 -08:00
x8664_ksyms.c [PATCH] x86_64: Eliminate register_die_notifier symbol exported 2006-03-25 09:14:38 -08:00