Skip to contentSkip to conversation

vtime: Delay cputime accounting to tick / context switch

GIT PULL Frederic Weisbecker 1 participant 1 message Jan 10, 2017

lore
Share & tools
lore
#0 lore raw

Ingo, Thomas,

Please pull the vtime/accumulate-for-tip branch that can be found at:

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
vtime/accumulate-for-tip

HEAD: 0fe66425659da25269280c106f39b333a0cfb9a9

---
The cputime accounting functions (account_system_time(), account_user_time(), ...) happen to be costly especially under several common configs. And with CONFIG_VIRT_CPU_ACCOUNTING_NATIVE those functions are called on many fast paths such as context boundaries like user <-> kernel, kernel <-> guest, kernel <-> idle, kernel <-> (soft)IRQ, context switches, etc...

This set reduces this overhead by accumulating the cputime on context boundaries and eventually delay the accounting of that accumulated time on ticks and context switches only.
---

Thanks,
Frederic
---

Frederic Weisbecker (9):
powerpc32: Fix stale scaled stime on context switch
ia64: Fix wrong start cputime assignment on task switch
cputime: Allow accounting system time using cpustat index
cputime: Export account_guest_time
powerpc: Prepare accounting structure for cputime flush on tick
powerpc: Migrate stolen_time field to accounting structure powerpc/vtime: Accumulate cputime and account only on tick/task switch
ia64: Accumulate cputime and account only on tick/task switch
vtime: Rename vtime_account_user() to vtime_flush()

Martin Schwidefsky (1):
s390/cputime: Delayed accounting of system time

 arch/ia64/include/asm/thread_info.h   |   6 ++
 arch/ia64/kernel/time.c               |  66 +++++++++++-----
 arch/powerpc/include/asm/accounting.h |  14 +++-
 arch/powerpc/include/asm/paca.h       |   1 -
 arch/powerpc/kernel/asm-offsets.c     |   8 +-
 arch/powerpc/kernel/time.c            | 138 +++++++++++++++++++++-------------
 arch/powerpc/xmon/xmon.c              |   8 +-
 arch/s390/include/asm/lowcore.h       |  65 ++++++++--------
 arch/s390/include/asm/processor.h     |   3 +
 arch/s390/kernel/vtime.c              | 138 ++++++++++++++++++++++------------
 include/linux/kernel_stat.h           |   5 +-
 include/linux/vtime.h                 |   7 +-
 kernel/sched/cputime.c                |  16 ++--
 13 files changed, 302 insertions(+), 173 deletions(-)