kernel-fxtec-pro1x/arch
Mike Galbraith 0ec9fab3d1 sched: Improve latencies and throughput
Make the idle balancer more agressive, to improve a
x264 encoding workload provided by Jason Garrett-Glaser:

 NEXT_BUDDY NO_LB_BIAS
 encoded 600 frames, 252.82 fps, 22096.60 kb/s
 encoded 600 frames, 250.69 fps, 22096.60 kb/s
 encoded 600 frames, 245.76 fps, 22096.60 kb/s

 NO_NEXT_BUDDY LB_BIAS
 encoded 600 frames, 344.44 fps, 22096.60 kb/s
 encoded 600 frames, 346.66 fps, 22096.60 kb/s
 encoded 600 frames, 352.59 fps, 22096.60 kb/s

 NO_NEXT_BUDDY NO_LB_BIAS
 encoded 600 frames, 425.75 fps, 22096.60 kb/s
 encoded 600 frames, 425.45 fps, 22096.60 kb/s
 encoded 600 frames, 422.49 fps, 22096.60 kb/s

Peter pointed out that this is better done via newidle_idx,
not via LB_BIAS, newidle balancing should look for where
there is load _now_, not where there was load 2 ticks ago.

Worst-case latencies are improved as well as no buddies
means less vruntime spread. (as per prior lkml discussions)

This change improves kbuild-peak parallelism as well.

Reported-by: Jason Garrett-Glaser <darkshikari@gmail.com>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1253011667.9128.16.camel@marge.simson.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-09-15 16:51:16 +02:00
..
alpha KEYS: Add missing linux/tracehook.h #inclusions 2009-09-09 18:30:02 +10:00
arm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2009-09-11 09:19:35 -07:00
avr32 Merge branch 'next' into for-linus 2009-09-11 08:04:49 +10:00
blackfin blackfin: fix wrong CTS inversion 2009-07-20 16:38:44 -07:00
cris KEYS: Add missing linux/tracehook.h #inclusions 2009-09-09 18:30:02 +10:00
frv KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] 2009-09-02 21:29:22 +10:00
h8300 KEYS: Add missing linux/tracehook.h #inclusions 2009-09-09 18:30:02 +10:00
ia64 sched: Improve latencies and throughput 2009-09-15 16:51:16 +02:00
m32r KEYS: Add missing linux/tracehook.h #inclusions 2009-09-09 18:30:02 +10:00
m68k locking, m68k/asm-offsets: Rename signal defines 2009-09-01 09:38:03 +02:00
m68knommu m68k,m68knommu: Wire up rt_tgsigqueueinfo and perf_counter_open 2009-08-26 23:14:50 +02:00
microblaze microblaze: Update Microblaze defconfigs 2009-08-18 11:05:11 +02:00
mips sched: Merge select_task_rq_fair() and sched_balance_self() 2009-09-15 16:01:05 +02:00
mn10300 KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] 2009-09-02 21:29:22 +10:00
parisc Merge branch 'next' into for-linus 2009-09-11 08:04:49 +10:00
powerpc sched: Improve latencies and throughput 2009-09-15 16:51:16 +02:00
s390 Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-11 13:24:03 -07:00
sh sched: Improve latencies and throughput 2009-09-15 16:51:16 +02:00
sparc sched: Tweak wake_idx 2009-09-15 16:01:07 +02:00
um mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
x86 sched: Improve latencies and throughput 2009-09-15 16:51:16 +02:00
xtensa mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
.gitignore
Kconfig oprofile: Implement performance counter multiplexing 2009-07-20 16:33:53 +02:00