linux/arch/ia64
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
..
configs [IA64] Updated the generic_defconfig to work with the 2.6.28-rc7 kernel. 2008-12-09 10:07:48 -08:00
dig [IA64] Add Variable Page Size and IA64 Support in Intel IOMMU 2008-10-17 12:14:13 -07:00
hp simeth: convert to net_device_ops 2008-12-16 01:55:38 -08:00
ia32 CRED: Wrap current->cred and a few other accessors 2008-11-14 10:39:18 +11:00
include/asm [IA64] remove BUILD_BUG_ON from paravirt_getreg() 2008-12-09 10:01:26 -08:00
kernel [PATCH] idle cputime accounting 2008-12-31 15:11:46 +01:00
kvm KVM: ia64: Fix: Use correct calling convention for PAL_VPS_RESUME_HANDLER 2008-11-23 15:08:22 +02:00
lib [IA64] Add Variable Page Size and IA64 Support in Intel IOMMU 2008-10-17 12:14:13 -07:00
mm [IA64] fix the difference between node_mem_map and node_start_pfn 2008-11-04 11:31:12 -08:00
oprofile oprofile: more whitespace fixes 2008-10-15 20:55:51 +02:00
pci PCI: Add ability to mmap legacy_io on some platforms 2008-10-20 11:01:46 -07:00
scripts ia64/pv_ops: paravirtualized instruction checker. 2008-10-17 10:12:54 -07:00
sn [IA64] SN: prevent IRQ retargetting in request_irq() 2008-12-09 10:57:18 -08:00
uv [IA64] Simplify SGI uv vs. sn2 driver issues 2008-11-04 11:29:39 -08:00
xen [IA64] xen: fix xen_get_eflags. 2008-11-20 13:43:01 -08:00
install.sh
Kconfig Merge branch 'linus' into sched/core 2008-11-19 09:44:37 +01:00
Kconfig.debug
Makefile Pull vtd-iommu into release branch 2008-10-17 13:52:22 -07:00
module.lds