linux-stable-rt/kernel
Peter Zijlstra bbc8cb5bae sched: Reduce update_group_power() calls
Currently we update cpu_power() too often, update_group_power() only
updates the local group's cpu_power but it gets called for all groups.

Furthermore, CPU_NEWLY_IDLE invocations will result in all cpus
calling it, even though a slow update of cpu_power is sufficient.

Therefore move the update under 'idle != CPU_NEWLY_IDLE &&
local_group' to reduce superfluous invocations.

Reported-by: Venkatesh Pallipadi <venki@google.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
LKML-Reference: <1278612989.1900.176.camel@laptop>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2010-07-17 12:05:14 +02:00
..
debug module: fix kdb's illicit use of struct module_use. 2010-06-05 11:17:36 +09:30
gcov
irq
power
time sched: Change nohz idle load balancing logic to push model 2010-06-09 10:34:52 +02:00
trace sched_clock: Add local_clock() API and improve documentation 2010-06-09 10:34:49 +02:00
.gitignore
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
Makefile
acct.c
async.c
audit.c
audit.h
audit_tree.c
audit_watch.c
auditfilter.c
auditsc.c
backtracetest.c
bounds.c
capability.c
cgroup.c cgroups: alloc_css_id() increments hierarchy depth 2010-06-04 15:21:45 -07:00
cgroup_freezer.c
compat.c
configs.c
cpu.c sched: adjust when cpu_active and cpuset configurations are updated during cpu on/offlining 2010-06-08 21:40:36 +02:00
cpuset.c sched, cpuset: Drop __cpuexit from cpu hotplug callbacks 2010-06-22 08:07:39 +02:00
cred.c umh: creds: kill subprocess_info->cred logic 2010-05-27 09:12:45 -07:00
delayacct.c
dma.c
early_res.c
elfcore.c
exec_domain.c sys_personality: change sys_personality() to accept "unsigned int" instead of u_long 2010-06-04 15:21:45 -07:00
exit.c proc: turn signal_struct->count into "int nr_threads" 2010-05-27 09:12:47 -07:00
extable.c
fork.c sched: add hooks for workqueue 2010-06-08 21:40:37 +02:00
freezer.c
futex.c
futex_compat.c
groups.c
hrtimer.c sched: Change nohz idle load balancing logic to push model 2010-06-09 10:34:52 +02:00
hung_task.c
hw_breakpoint.c
itimer.c
kallsyms.c
kexec.c
kfifo.c
kmod.c call_usermodehelper: UMH_WAIT_EXEC ignores kernel_thread() failure 2010-05-27 09:12:45 -07:00
kprobes.c
ksysfs.c
kthread.c
latencytop.c
lockdep.c sched_clock: Add local_clock() API and improve documentation 2010-06-09 10:34:49 +02:00
lockdep_internals.h
lockdep_proc.c
lockdep_states.h
module.c module: fix bne2 "gave up waiting for init of module libcrc32c" 2010-06-05 11:17:37 +09:30
mutex-debug.c
mutex-debug.h
mutex.c
mutex.h
notifier.c
ns_cgroup.c
nsproxy.c
padata.c kernel/: convert cpu notifier to return encapsulate errno value 2010-05-27 09:12:48 -07:00
panic.c panic: call console_verbose() in panic 2010-05-27 09:12:53 -07:00
params.c
perf_event.c Merge commit 'v2.6.35-rc3' into sched/core 2010-06-18 10:46:35 +02:00
pid.c pids: increase pid_max based on num_possible_cpus 2010-05-27 09:12:51 -07:00
pid_namespace.c
pm_qos_params.c
posix-cpu-timers.c sched: Fix the racy usage of thread_group_cputimer() in fastpath_timer_check() 2010-06-18 10:46:57 +02:00
posix-timers.c posix_timer: Fix error path in timer_create 2010-05-27 22:38:15 +02:00
printk.c
profile.c numa: in-kernel profiling: use cpu_to_mem() for per cpu allocations 2010-05-27 09:12:57 -07:00
ptrace.c ptrace: PTRACE_GETFDPIC: fix the unsafe usage of child->mm 2010-05-27 09:12:44 -07:00
range.c
rcupdate.c
rcutiny.c
rcutiny_plugin.h
rcutorture.c sched_clock: Add local_clock() API and improve documentation 2010-06-09 10:34:49 +02:00
rcutree.c
rcutree.h
rcutree_plugin.h
rcutree_trace.c
relay.c kernel/: convert cpu notifier to return encapsulate errno value 2010-05-27 09:12:48 -07:00
res_counter.c
resource.c
rtmutex-debug.c
rtmutex-debug.h
rtmutex-tester.c
rtmutex.c
rtmutex.h
rtmutex_common.h
rwsem.c
sched.c sched, cpuset: Drop __cpuexit from cpu hotplug callbacks 2010-06-22 08:07:39 +02:00
sched_clock.c sched_clock: Add local_clock() API and improve documentation 2010-06-09 10:34:49 +02:00
sched_cpupri.c
sched_cpupri.h
sched_debug.c proc_sched_show_task(): use get_nr_threads() 2010-05-27 09:12:47 -07:00
sched_fair.c sched: Reduce update_group_power() calls 2010-07-17 12:05:14 +02:00
sched_features.h
sched_idletask.c
sched_rt.c sched: task_tick_rt: Remove the obsolete ->signal != NULL check 2010-06-18 10:46:56 +02:00
sched_stats.h sched: Remove the obsolete exit_state/signal hacks 2010-06-18 10:46:56 +02:00
seccomp.c
semaphore.c
signal.c exit: change zap_other_threads() to count sub-threads 2010-05-27 09:12:46 -07:00
slow-work-debugfs.c
slow-work.c
slow-work.h
smp.c kernel/: convert cpu notifier to return encapsulate errno value 2010-05-27 09:12:48 -07:00
softirq.c kernel/: fix BUG_ON checks for cpu notifier callbacks direct call 2010-06-04 15:21:45 -07:00
softlockup.c
spinlock.c
srcu.c
stacktrace.c
stop_machine.c sched: Make sure timers have migrated before killing the migration_thread 2010-05-31 08:37:44 +02:00
sys.c kmod: add init function to usermodehelper 2010-05-27 09:12:44 -07:00
sys_ni.c
sysctl.c pipe: change /proc/sys/fs/pipe-max-pages to byte sized interface 2010-06-03 14:54:39 +02:00
sysctl_binary.c sysctl: don't use own implementation of hex_to_bin() 2010-05-25 08:07:05 -07:00
sysctl_check.c
taskstats.c
test_kprobes.c
time.c
timeconst.pl
timer.c sched: Change nohz idle load balancing logic to push model 2010-06-09 10:34:52 +02:00
tracepoint.c
tsacct.c
uid16.c
up.c
user-return-notifier.c
user.c
user_namespace.c
utsname.c
utsname_sysctl.c
wait.c
workqueue.c kernel/: convert cpu notifier to return encapsulate errno value 2010-05-27 09:12:48 -07:00
workqueue_sched.h sched: add hooks for workqueue 2010-06-08 21:40:37 +02:00