kernel-ark/arch/s390/kernel
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>
2008-12-31 15:11:46 +01:00
..
vdso32 [S390] introduce vdso on s390 2008-12-25 13:38:55 +01:00
vdso64 [S390] introduce vdso on s390 2008-12-25 13:38:55 +01:00
asm-offsets.c [S390] introduce vdso on s390 2008-12-25 13:38:55 +01:00
audit.c
audit.h
base.S
bitmap.S
compat_audit.c
compat_exec_domain.c
compat_linux.c CRED: Separate task security context from task_struct 2008-11-14 10:39:16 +11:00
compat_linux.h compat: generic compat get/settimeofday 2008-10-16 11:21:33 -07:00
compat_ptrace.h [S390] CVE-2008-1514: prevent ptrace padding area read/write in 31-bit mode 2008-09-09 12:39:06 +02:00
compat_signal.c [S390] fix system call parameter functions. 2008-11-27 11:06:56 +01:00
compat_wrapper.S compat: generic compat get/settimeofday 2008-10-16 11:21:33 -07:00
cpcmd.c [S390] convert cpcmd printks to pr_xxx macros. 2008-12-25 13:39:19 +01:00
crash.c
debug.c [S390] convert s390 debug feature printks to pr_xxx macros. 2008-12-25 13:39:22 +01:00
diag.c
dis.c [S390] disassembler: fix idte instruction format. 2008-05-30 10:03:36 +02:00
early.c [S390] Remove P390 support. 2008-07-14 10:02:25 +02:00
ebcdic.c
entry64.S [S390] Remove config options. 2008-12-25 13:39:15 +01:00
entry.h [S390] Fix a lot of sparse warnings. 2008-04-17 07:47:06 +02:00
entry.S [S390] Remove config options. 2008-12-25 13:39:15 +01:00
head31.S [S390] Remove initial kernel stack backchain initialization. 2008-12-25 13:39:13 +01:00
head64.S [S390] Remove initial kernel stack backchain initialization. 2008-12-25 13:39:13 +01:00
head.S [S390] Add processor type march=z10 and a processor type safety check. 2008-12-25 13:39:12 +01:00
init_task.c [S390] Fix alignment of initial kernel stack. 2008-11-27 11:06:58 +01:00
ipl.c [S390] ipl: Reboot from alternate device does not work when booting from file 2008-08-01 16:39:30 +02:00
irq.c [S390] show_interrupts: prevent cpu hotplug when walking cpu_online_map. 2008-05-15 16:52:41 +02:00
kprobes.c stop_machine: Wean existing callers off stop_machine_run() 2008-07-28 12:16:31 +10:00
machine_kexec.c [S390] Cleanup kprobes printk messages. 2008-07-14 10:02:24 +02:00
Makefile [S390] convert cpu related printks to pr_xxx macros. 2008-12-25 13:39:25 +01:00
mcount.S [S390] ftrace: function tracer backend for s390 2008-12-25 13:39:03 +01:00
mem_detect.c [S390] Remove diag 0x260 call from memory detection. 2008-08-01 16:39:34 +02:00
module.c
process.c [S390] ftrace: disable tracing on idle psw 2008-11-14 18:18:53 +01:00
processor.c [S390] convert cpu related printks to pr_xxx macros. 2008-12-25 13:39:25 +01:00
ptrace.c [S390] remove ptrace warning on 31 bit. 2008-12-25 13:39:05 +01:00
reipl64.S
reipl.S
relocate_kernel64.S
relocate_kernel.S
s390_ext.c [S390] Fix a lot of sparse warnings. 2008-04-17 07:47:06 +02:00
s390_ksyms.c [S390] ftrace: function tracer backend for s390 2008-12-25 13:39:03 +01:00
setup.c [S390] convert cpu related printks to pr_xxx macros. 2008-12-25 13:39:25 +01:00
signal.c [S390] fix system call parameter functions. 2008-11-27 11:06:56 +01:00
smp.c [S390] convert cpu related printks to pr_xxx macros. 2008-12-25 13:39:25 +01:00
stacktrace.c [S390] Fix stacktrace compile bug. 2008-07-17 17:22:09 +02:00
sys_s390.c [S390] fix s390x_newuname 2008-11-14 18:18:55 +01:00
syscalls.S compat: generic compat get/settimeofday 2008-10-16 11:21:33 -07:00
time.c [S390] convert time printks to pr_xxx macros. 2008-12-25 13:39:20 +01:00
topology.c Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2008-12-28 12:33:21 -08:00
traps.c [S390] Move show_regs to traps.c. 2008-04-30 13:38:43 +02:00
vdso.c [S390] introduce vdso on s390 2008-12-25 13:38:55 +01:00
vmlinux.lds.S [S390] Fix alignment of initial kernel stack. 2008-11-27 11:06:58 +01:00
vtime.c [PATCH] idle cputime accounting 2008-12-31 15:11:46 +01:00