We already improved scalability of SYS_times() and SYS_clock_gettimes(CLOCK_PROCESS_CPUTIME_ID) syscalls on 64-bit cpus. However performance on 32-bit cpus is still poor. Patches improved that and fix sum_exec_runtime 64 bit variable possible (but very very unlike) inconsistency problem on 32-bit architectures.
Second patch could be merged with first one, but I posted it separately for eventual discussion. Stanislaw Gruszka (3): sched/cputime: Improve scalability of times()/clock_gettime() on 32 bit cpus sched/cputime: Make nr_migrations u32 on 32 bit cpus sched/cputime: Protect other sum_exec_runtime reads on 32 bit cpus fs/proc/base.c | 2 +- include/linux/sched.h | 40 ++++++++++++++++++++++++++++++++++++++-- kernel/delayacct.c | 2 +- kernel/exit.c | 2 +- kernel/sched/core.c | 17 +++++------------ kernel/sched/cputime.c | 24 ++---------------------- kernel/sched/deadline.c | 2 +- kernel/sched/debug.c | 4 ++-- kernel/sched/fair.c | 2 +- kernel/sched/rt.c | 2 +- kernel/time/posix-cpu-timers.c | 7 ++++--- 11 files changed, 57 insertions(+), 47 deletions(-) -- 1.8.3.1