[RFC PATCH 0/5] cputime: Generic virtual based cputime accounting

From: Frederic Weisbecker
Date: Fri Jul 27 2012 - 11:40:38 EST


So,

This is a proposition to handle the cputime accounting without the
tick to prepare for stopping the tick further idle.

I have managed to reuse and generalize the kernel/user boundary
hooks used by RCU. This way we can minimize the changes in archs
that don't support virtual cputime and we can also switch between
vtime and tick based accounting to minimize the overhead depending
on the tick behaviour.

This is based on top of rcu/idle branch in Paul's tree and my
vtime consolidation series: https://lkml.org/lkml/2012/6/20/762
(still waiting to be picked btw).

You, adventurer, can pull from:

git://github.com/fweisbec/linux-dynticks.git
vtime/generic


Frederic Weisbecker (5):
user_hooks: New user hooks subsystem
cputime: Don't allow virtual and irq finegrained cputime accounting
simultaneously
cputime: Allow dynamic switch between tick/virtual based cputime
accounting
cputime: Rename account_system_vtime to account_vtime
cputime: Generic on-demand virtual cputime accounting

arch/Kconfig | 10 +-
arch/ia64/include/asm/cputime.h | 5 +
arch/ia64/kernel/time.c | 6 +-
arch/powerpc/include/asm/cputime.h | 5 +
arch/powerpc/kernel/time.c | 10 +-
arch/s390/include/asm/cputime.h | 5 +
arch/s390/kernel/vtime.c | 6 +-
arch/x86/Kconfig | 2 +-
arch/x86/include/asm/{rcu.h => user_hooks.h} | 12 +-
arch/x86/kernel/ptrace.c | 6 +-
arch/x86/kernel/signal.c | 5 +-
arch/x86/kernel/traps.c | 2 +-
arch/x86/mm/fault.c | 2 +-
include/asm-generic/cputime.h | 7 +
include/linux/hardirq.h | 8 +-
include/linux/kernel_stat.h | 13 ++
include/linux/kvm_host.h | 4 +-
include/linux/rcupdate.h | 2 -
include/linux/sched.h | 13 +--
include/linux/user_hooks.h | 36 ++++++
init/Kconfig | 35 ++++--
kernel/Makefile | 1 +
kernel/fork.c | 3 +-
kernel/rcutree.c | 42 +-------
kernel/sched/core.c | 9 +-
kernel/sched/cputime.c | 159 +++++++++++++++++++++----
kernel/softirq.c | 6 +-
kernel/time/tick-sched.c | 28 ++---
kernel/user_hooks.c | 56 +++++++++
29 files changed, 348 insertions(+), 150 deletions(-)
rename arch/x86/include/asm/{rcu.h => user_hooks.h} (56%)
create mode 100644 include/linux/user_hooks.h
create mode 100644 kernel/user_hooks.c

--
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/