linux/arch/mips
Peter Zijlstra c88d591089 sched: Merge select_task_rq_fair() and sched_balance_self()
The problem with wake_idle() is that is doesn't respect things like
cpu_power, which means it doesn't deal well with SMT nor the recent
RT interaction.

To cure this, it needs to do what sched_balance_self() does, which
leads to the possibility of merging select_task_rq_fair() and
sched_balance_self().

Modify sched_balance_self() to:

  - update_shares() when walking up the domain tree,
    (it only called it for the top domain, but it should
     have done this anyway), which allows us to remove
    this ugly bit from try_to_wake_up().

  - do wake_affine() on the smallest domain that contains
    both this (the waking) and the prev (the wakee) cpu for
    WAKE invocations.

Then use the top-down balance steps it had to replace wake_idle().

This leads to the dissapearance of SD_WAKE_BALANCE and
SD_WAKE_IDLE_FAR, with SD_WAKE_IDLE replaced with SD_BALANCE_WAKE.

SD_WAKE_AFFINE needs SD_BALANCE_WAKE to be effective.

Touch all topology bits to replace the old with new SD flags --
platforms might need re-tuning, enabling SD_BALANCE_WAKE
conditionally on a NUMA distance seems like a good additional
feature, magny-core and small nehalem systems would want this
enabled, systems with slow interconnects would not.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-09-15 16:01:05 +02:00
..
alchemy MIPS: MTX-1: Request button GPIO before setting its direction 2009-08-03 17:52:46 +01:00
ar7 MIPS: AR7: Override CFLAGS with -Werror 2009-08-03 17:52:46 +01:00
basler/excite platform driver: fix incorrect use of 'platform_bus_type' with 'struct device_driver' 2009-03-24 16:38:25 -07:00
bcm47xx MIPS: WGT634U: Add reset button support 2008-10-15 12:46:51 +01:00
boot [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
cavium-octeon MIPS: Octeon: Run IPI code with interrupts disabled. 2009-08-03 17:52:47 +01:00
cobalt Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
configs MIPS: Add support for Texas Instruments AR7 System-on-a-Chip 2009-07-03 15:45:23 +01:00
dec MIPS: Eleminate filenames from comments 2009-08-03 17:52:40 +01:00
emma MIPS: Eleminate filenames from comments 2009-08-03 17:52:40 +01:00
fw MIPS: Eleminate filenames from comments 2009-08-03 17:52:40 +01:00
gt64120/wrppmc Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
include/asm sched: Merge select_task_rq_fair() and sched_balance_self() 2009-09-15 16:01:05 +02:00
jazz MIPS: Jazz: Fix read buffer overflow 2009-08-03 17:52:47 +01:00
kernel KEYS: Add missing linux/tracehook.h #inclusions 2009-09-09 18:30:02 +10:00
lasat cpumask: remove references to struct irqaction's mask field. 2009-03-30 22:05:14 +10:30
lemote/lm2e cpumask: remove references to struct irqaction's mask field. 2009-03-30 22:05:14 +10:30
lib MIPS: Fix __ndelay build error and add 'ull' suffix for 32-bit kernel 2009-06-17 11:06:24 +01:00
math-emu MIPS: Switch FPU emulator trap to BREAK instruction. 2008-10-30 14:44:34 +00:00
mipssim MIPS: MIPSsim: Fix unbalance brace in mipssim get_c0_compare_int() 2009-08-03 17:52:41 +01:00
mm MIPS: Drop mmap_sem in pagefault oom path 2009-08-03 17:52:40 +01:00
mti-malta [PATCH] MIPS: SMTC: Fix compile error 2009-08-03 17:52:41 +01:00
nxp MIPS: Use DIV_ROUND_CLOSEST 2009-08-03 17:52:46 +01:00
oprofile oprofile: more whitespace fixes 2008-10-15 20:55:51 +02:00
pci MIPS: Octeon PCIe: Make hardware and software bus numbers match. 2009-08-03 17:52:44 +01:00
pmc-sierra MIPS: Simplify and correct interrupt handling for MSP4200 2009-08-03 17:52:43 +01:00
power MIPS: Hibernation: Remove SMP TLB and cacheflushing code. 2009-06-24 18:34:39 +01:00
rb532 MIPS: RB532: Check irq number when handling GPIO interrupts 2009-06-17 11:06:27 +01:00
sgi-ip22 MIPS: IP22: Fix hang in power button interrupt handler 2009-05-20 18:53:13 +01:00
sgi-ip27 MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users. 2009-06-24 18:34:39 +01:00
sgi-ip32 MIPS: IP32: Remove unnecessary if not even harmful volatile keywords. 2009-05-22 13:52:06 +01:00
sibyte MIPS: Eleminate filenames from comments 2009-08-03 17:52:40 +01:00
sni MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users. 2009-06-24 18:34:39 +01:00
txx9 MIPS: RBTX4939: Fix IOC pin-enable register updating 2009-08-03 17:52:44 +01:00
vr41xx Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
Kconfig MIPS: Allow suspend and hibernation again on uniprocessor kernels. 2009-07-03 15:45:28 +01:00
Kconfig.debug MIPS: Kconfig: Fix the arch-specific header path 2008-12-12 18:12:23 +00:00
Makefile MIPS: Add support for Texas Instruments AR7 System-on-a-Chip 2009-07-03 15:45:23 +01:00