You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Martin Schwidefsky
79741dd357
[PATCH] idle cputime accounting
...
The cpu time spent by the idle process actually doing something is
currently accounted as idle time. This is plain wrong, the architectures
that support VIRT_CPU_ACCOUNTING=y can do better: distinguish between the
time spent doing nothing and the time spent by idle doing work. The first
is accounted with account_idle_time and the second with account_system_time.
The architectures that use the account_xxx_time interface directly and not
the account_xxx_ticks interface now need to do the check for the idle
process in their arch code. In particular to improve the system vs true
idle time accounting the arch code needs to measure the true idle time
instead of just testing for the idle process.
To improve the tick based accounting as well we would need an architecture
primitive that can tell us if the pt_regs of the interrupted context
points to the magic instruction that halts the cpu.
In addition idle time is no more added to the stime of the idle process.
This field now contains the system time of the idle process as it should
be. On systems without VIRT_CPU_ACCOUNTING this will always be zero as
every tick that occurs while idle is running will be accounted as idle
time.
This patch contains the necessary common code changes to be able to
distinguish idle system time and true idle time. The architectures with
support for VIRT_CPU_ACCOUNTING need some changes to exploit this.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago
..
irq
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
16 years ago
power
Merge branches 'tracing/ftrace', 'tracing/ring-buffer' and 'tracing/urgent' into tracing/core
16 years ago
time
[PATCH] idle cputime accounting
16 years ago
trace
tracing: removed duplicated #include
16 years ago
.gitignore
…
Kconfig.freezer
…
Kconfig.hz
…
Kconfig.preempt
rcu: provide RCU options on non-preempt architectures too
16 years ago
Makefile
Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
16 years ago
acct.c
…
audit.c
…
audit.h
…
audit_tree.c
…
auditfilter.c
…
auditsc.c
Merge branch 'next' into for-linus
16 years ago
backtracetest.c
…
bounds.c
…
capability.c
…
cgroup.c
Merge branch 'next' into for-linus
16 years ago
cgroup_debug.c
…
cgroup_freezer.c
…
compat.c
…
configs.c
…
cpu.c
…
cpuset.c
…
cred-internals.h
…
cred.c
…
delayacct.c
schedstat: consolidate per-task cpu runtime stats
16 years ago
dma-coherent.c
…
dma.c
…
exec_domain.c
…
exit.c
Merge branch 'for-2.6.29' of git://git.kernel.dk/linux-2.6-block
16 years ago
extable.c
Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
16 years ago
fork.c
aio: make the lookup_ioctx() lockless
16 years ago
freezer.c
…
futex.c
Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
16 years ago
futex_compat.c
…
hrtimer.c
hrtimers: fix warning in kernel/hrtimer.c
16 years ago
itimer.c
…
kallsyms.c
allow stripping of generated symbols under CONFIG_KALLSYMS_ALL
16 years ago
kexec.c
…
kfifo.c
…
kgdb.c
…
kmod.c
…
kprobes.c
…
ksysfs.c
…
kthread.c
…
latencytop.c
…
lockdep.c
Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
16 years ago
lockdep_internals.h
…
lockdep_proc.c
…
marker.c
…
module.c
…
mutex-debug.c
…
mutex-debug.h
…
mutex.c
…
mutex.h
…
notifier.c
…
ns_cgroup.c
…
nsproxy.c
…
panic.c
Merge branch 'core/debug' into core/core
16 years ago
params.c
…
pid.c
…
pid_namespace.c
…
pm_qos_params.c
…
posix-cpu-timers.c
Merge commit 'v2.6.28' into core/core
16 years ago
posix-timers.c
Merge branches 'timers/clocksource', 'timers/hpet', 'timers/hrtimers', 'timers/nohz', 'timers/ntp', 'timers/posixtimers' and 'timers/rtc' into timers/core
16 years ago
printk.c
printk: fix discarding message when recursion_bug
16 years ago
profile.c
…
ptrace.c
Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
16 years ago
rcuclassic.c
…
rcupdate.c
…
rcupreempt.c
"Tree RCU": scalable classic RCU implementation
16 years ago
rcupreempt_trace.c
"Tree RCU": scalable classic RCU implementation
16 years ago
rcutorture.c
…
rcutree.c
"Tree RCU": scalable classic RCU implementation
16 years ago
rcutree_trace.c
"Tree RCU": scalable classic RCU implementation
16 years ago
relay.c
…
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
[PATCH] idle cputime accounting
16 years ago
sched_clock.c
…
sched_cpupri.c
…
sched_cpupri.h
…
sched_debug.c
…
sched_fair.c
…
sched_features.h
…
sched_idletask.c
…
sched_rt.c
Merge branch 'sched/urgent'; commit 'v2.6.28' into sched/core
16 years ago
sched_stats.h
schedstat: consolidate per-task cpu runtime stats
16 years ago
seccomp.c
…
semaphore.c
…
signal.c
Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
16 years ago
smp.c
…
softirq.c
Merge branches 'core/debugobjects', 'core/iommu', 'core/locking', 'core/printk', 'core/rcu', 'core/resources', 'core/softirq' and 'core/stacktrace' into core/core
16 years ago
softlockup.c
Merge commit 'v2.6.28' into core/core
16 years ago
spinlock.c
…
srcu.c
…
stacktrace.c
stacktrace: provide save_stack_trace_tsk() weak alias
16 years ago
stop_machine.c
…
sys.c
Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
16 years ago
sys_ni.c
…
sysctl.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
16 years ago
sysctl_check.c
…
taskstats.c
…
test_kprobes.c
…
time.c
…
timeconst.pl
…
timer.c
[PATCH] idle cputime accounting
16 years ago
tracepoint.c
…
tsacct.c
…
uid16.c
…
user.c
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
16 years ago
user_namespace.c
…
utsname.c
…
utsname_sysctl.c
…
wait.c
…
workqueue.c
…