Mike Galbraith
b39e66eaf9
sched: Save some hrtick_start_fair cycles
hrtick_start_fair() shows up in profiles even when disabled.
v3.0.6
taskset -c 3 pipe-test
PerfTop: 997 irqs/sec kernel:89.5% exact: 0.0% [1000Hz cycles], (all, CPU: 3)
------------------------------------------------------------------------------------------------
Virgin Patched
samples pcnt function samples pcnt function
_______ _____ ___________________________ _______ _____ ___________________________
2880.00 10.2% __schedule 3136.00 11.3% __schedule
1634.00 5.8% pipe_read 1615.00 5.8% pipe_read
1458.00 5.2% system_call 1534.00 5.5% system_call
1382.00 4.9% _raw_spin_lock_irqsave 1412.00 5.1% _raw_spin_lock_irqsave
1202.00 4.3% pipe_write 1255.00 4.5% copy_user_generic_string
1164.00 4.1% copy_user_generic_string 1241.00 4.5% __switch_to
1097.00 3.9% __switch_to 929.00 3.3% mutex_lock
872.00 3.1% mutex_lock 846.00 3.0% mutex_unlock
687.00 2.4% mutex_unlock 804.00 2.9% pipe_write
682.00 2.4% native_sched_clock 713.00 2.6% native_sched_clock
643.00 2.3% system_call_after_swapgs 653.00 2.3% _raw_spin_unlock_irqrestore
617.00 2.2% sched_clock_local 633.00 2.3% fsnotify
612.00 2.2% fsnotify 605.00 2.2% sched_clock_local
596.00 2.1% _raw_spin_unlock_irqrestore 593.00 2.1% system_call_after_swapgs
542.00 1.9% sysret_check 559.00 2.0% sysret_check
467.00 1.7% fget_light 472.00 1.7% fget_light
462.00 1.6% finish_task_switch 461.00 1.7% finish_task_switch
437.00 1.5% vfs_write 442.00 1.6% vfs_write
431.00 1.5% do_sync_write 428.00 1.5% do_sync_write
413.00 1.5% select_task_rq_fair 404.00 1.5% _raw_spin_lock_irq
386.00 1.4% update_curr 402.00 1.4% update_curr
385.00 1.4% rw_verify_area 389.00 1.4% do_sync_read
377.00 1.3% _raw_spin_lock_irq 378.00 1.4% vfs_read
369.00 1.3% do_sync_read 340.00 1.2% pipe_iov_copy_from_user
360.00 1.3% vfs_read 316.00 1.1% __wake_up_sync_key
* 342.00 1.2% hrtick_start_fair 313.00 1.1% __wake_up_common
Signed-off-by: Mike Galbraith <efault@gmx.de>
[ fixed !CONFIG_SCHED_HRTICK borkage ]
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1321971607.6855.17.camel@marge.simson.net
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
2011-12-06 20:51:20 +01:00 |
| .. |
|
debug
|
Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
|
2011-11-06 19:44:47 -08:00 |
|
events
|
Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
|
2011-11-06 19:44:47 -08:00 |
|
gcov
|
gcov: disable CONSTRUCTORS for UML
|
2011-07-26 16:49:45 -07:00 |
|
irq
|
Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
|
2011-11-06 19:44:47 -08:00 |
|
power
|
PM / QoS: Set cpu_dma_pm_qos->name
|
2011-11-07 23:02:24 +01:00 |
|
sched
|
sched: Save some hrtick_start_fair cycles
|
2011-12-06 20:51:20 +01:00 |
|
time
|
sched, nohz: Track nr_busy_cpus in the sched_group_power
|
2011-12-06 09:06:32 +01:00 |
|
trace
|
kernel: Fix files explicitly needing EXPORT_SYMBOL infrastructure
|
2011-10-31 19:30:05 -04:00 |
|
.gitignore
|
|
|
|
acct.c
|
|
|
|
async.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
audit.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
audit.h
|
|
|
|
audit_tree.c
|
audit_tree,rcu: Convert call_rcu(__put_tree) to kfree_rcu()
|
2011-07-20 14:10:11 -07:00 |
|
audit_watch.c
|
|
|
|
auditfilter.c
|
|
|
|
auditsc.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
backtracetest.c
|
|
|
|
bounds.c
|
|
|
|
capability.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
cgroup.c
|
memcg: replace ss->id_lock with a rwlock
|
2011-11-02 16:07:03 -07:00 |
|
cgroup_freezer.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
compat.c
|
kernel: Fix files explicitly needing EXPORT_SYMBOL infrastructure
|
2011-10-31 19:30:05 -04:00 |
|
configs.c
|
kernel/configs.c: include MODULE_*() when CONFIG_IKCONFIG_PROC=n
|
2011-07-25 20:57:15 -07:00 |
|
cpu.c
|
Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
|
2011-11-06 19:44:47 -08:00 |
|
cpu_pm.c
|
cpu_pm: call notifiers during suspend
|
2011-09-23 12:05:29 +05:30 |
|
cpuset.c
|
Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
|
2011-11-06 19:44:47 -08:00 |
|
crash_dump.c
|
Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
|
2011-11-06 19:44:47 -08:00 |
|
cred.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
delayacct.c
|
KVM: Steal time implementation
|
2011-07-14 12:59:14 +03:00 |
|
dma.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
elfcore.c
|
|
|
|
exec_domain.c
|
|
|
|
exit.c
|
oom: remove oom_disable_count
|
2011-10-31 17:30:45 -07:00 |
|
extable.c
|
|
|
|
fork.c
|
Merge branch 'writeback-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux
|
2011-11-06 19:02:23 -08:00 |
|
freezer.c
|
Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
|
2011-11-06 19:44:47 -08:00 |
|
futex.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
futex_compat.c
|
|
|
|
groups.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
hrtimer.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
hung_task.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
irq_work.c
|
kernel: fix two implicit header assumptions in irq_work.c
|
2011-10-31 09:20:12 -04:00 |
|
itimer.c
|
|
|
|
jump_label.c
|
jump-label: initialize jump-label subsystem much earlier
|
2011-10-25 11:55:15 -07:00 |
|
kallsyms.c
|
|
|
|
Kconfig.freezer
|
|
|
|
Kconfig.hz
|
|
|
|
Kconfig.locks
|
|
|
|
Kconfig.preempt
|
sched: Isolate preempt counting in its own config option
|
2011-06-10 15:15:40 +02:00 |
|
kexec.c
|
[S390] kdump: Add infrastructure for unmapping crashkernel memory
|
2011-10-30 15:16:42 +01:00 |
|
kfifo.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
kmod.c
|
kmod: prevent kmod_loop_msg overflow in __request_module()
|
2011-10-26 13:10:39 +10:30 |
|
kprobes.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
ksysfs.c
|
kernel: ksysfs.c is implicitly using stat.h
|
2011-10-31 09:20:13 -04:00 |
|
kthread.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
latencytop.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
lockdep.c
|
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
|
2011-10-26 16:26:53 +02:00 |
|
lockdep_internals.h
|
|
|
|
lockdep_proc.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
lockdep_states.h
|
|
|
|
Makefile
|
sched: Move all scheduler bits into kernel/sched/
|
2011-11-17 12:20:22 +01:00 |
|
module.c
|
Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
|
2011-11-06 19:44:47 -08:00 |
|
mutex-debug.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
mutex-debug.h
|
|
|
|
mutex.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
mutex.h
|
|
|
|
notifier.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
nsproxy.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
padata.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
panic.c
|
module,bug: Add TAINT_OOT_MODULE flag for modules not built in-tree
|
2011-11-07 07:54:42 +10:30 |
|
params.c
|
kernel: params.c needs module.h not moduleparam.h
|
2011-10-31 09:20:13 -04:00 |
|
pid.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
pid_namespace.c
|
|
|
|
posix-cpu-timers.c
|
Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
|
2011-10-26 16:17:32 +02:00 |
|
posix-timers.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
printk.c
|
printk: remove bounds checking for log_prefix
|
2011-10-31 17:30:53 -07:00 |
|
profile.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
ptrace.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
range.c
|
range: fix bogus misuse of module.h to get printk()
|
2011-10-31 09:20:11 -04:00 |
|
rcu.h
|
rcu: Add grace-period, quiescent-state, and call_rcu trace events
|
2011-09-28 21:38:21 -07:00 |
|
rcupdate.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
rcutiny.c
|
kernel: fix up module header handling in rcutiny files
|
2011-10-31 09:20:13 -04:00 |
|
rcutiny_plugin.h
|
kernel: fix up module header handling in rcutiny files
|
2011-10-31 09:20:13 -04:00 |
|
rcutorture.c
|
rcu: Make rcu_torture_boost() exit loops at end of test
|
2011-09-28 21:38:46 -07:00 |
|
rcutree.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
rcutree.h
|
rcu: Remove rcu_needs_cpu_flush() to avoid false quiescent states
|
2011-09-28 21:38:48 -07:00 |
|
rcutree_plugin.h
|
rcu: Remove rcu_needs_cpu_flush() to avoid false quiescent states
|
2011-09-28 21:38:48 -07:00 |
|
rcutree_trace.c
|
rcu: Simplify quiescent-state accounting
|
2011-09-28 21:38:22 -07:00 |
|
relay.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
res_counter.c
|
|
|
|
resource.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
rtmutex-debug.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
rtmutex-debug.h
|
|
|
|
rtmutex-tester.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
rtmutex.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
rtmutex.h
|
|
|
|
rtmutex_common.h
|
|
|
|
rwsem.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
seccomp.c
|
|
|
|
semaphore.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
signal.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
smp.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
softirq.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
spinlock.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
srcu.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
stacktrace.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
stop_machine.c
|
Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
|
2011-11-06 19:44:47 -08:00 |
|
sys.c
|
Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
|
2011-11-06 19:44:47 -08:00 |
|
sys_ni.c
|
Cross Memory Attach
|
2011-10-31 17:30:44 -07:00 |
|
sysctl.c
|
Merge branch 'akpm' (Andrew's incoming)
|
2011-10-31 17:46:07 -07:00 |
|
sysctl_binary.c
|
ipv4: NET_IPV4_ROUTE_GC_INTERVAL removal
|
2011-10-03 14:13:01 -04:00 |
|
sysctl_check.c
|
xfs: remove subdirectories
|
2011-08-12 16:21:35 -05:00 |
|
taskstats.c
|
Make TASKSTATS require root access
|
2011-09-19 17:04:37 -07:00 |
|
test_kprobes.c
|
|
|
|
time.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
timeconst.pl
|
|
|
|
timer.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
tracepoint.c
|
Tracepoint: Dissociate from module mutex
|
2011-08-10 20:38:14 -04:00 |
|
tsacct.c
|
Make taskstats round statistics down to nearest 1k bytes/events
|
2011-09-19 17:10:57 -07:00 |
|
uid16.c
|
|
|
|
up.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
user-return-notifier.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
user.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
user_namespace.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
utsname.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
utsname_sysctl.c
|
Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
|
2011-11-06 19:44:47 -08:00 |
|
wait.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
watchdog.c
|
watchdog: move watchdog_*_all_cpus under CONFIG_SYSCTL
|
2011-10-31 17:30:53 -07:00 |
|
workqueue.c
|
kernel: Map most files to use export.h instead of module.h
|
2011-10-31 09:20:12 -04:00 |
|
workqueue_sched.h
|
|
|