linux-stable-rt/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
cpufreq
Makefile
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
crash.c
crash_dump.c
e820.c
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.c
genapic_cluster.c
genapic_flat.c
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
head64.c
i387.c
i8259.c
init_task.c
io_apic.c [PATCH] x86_64: fix orphaned bits of timer init messages 2006-03-25 09:10:56 -08:00
ioport.c
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
machine_kexec.c
mce.c [PATCH] x86_64: {set,clear,test}_bit() related cleanup and pci_mmcfg_init() fix 2006-03-24 07:33:15 -08:00
mce_amd.c
mce_intel.c
module.c
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
pci-swiotlb.c
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
relocate_kernel.S
setup.c [PATCH] sched: new sched domain for representing multi-core 2006-03-27 08:44:43 -08:00
setup64.c [PATCH] x86_64: Change default setting for noexec32 to match i386 kernel 2006-03-25 09:10:56 -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.c
suspend_asm.S
sys_x86_64.c
syscall.c
time.c [PATCH] x86_64: Reename CMOS update warning 2006-03-25 09:10:55 -08:00
trampoline.S
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
vsyscall.c
x8664_ksyms.c [PATCH] x86_64: Eliminate register_die_notifier symbol exported 2006-03-25 09:14:38 -08:00