Skip to content

reduce nohz_full syscall overhead by 10%

[email protected] lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 79 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3reduce indentation in __acct_update_integralskernel/tsacct.c+17 -170 replies
2/3remove local_irq_save from __acct_update_integralsarch/powerpc/include/asm/cputime.h arch/s390/include/asm/cputime.h include/asm-generic/cputime_jiffies.h +2 more+23 -40 replies
3/3context_tracking,x86: remove extraneous irq disable & enable from context tracking on syscall entryarch/x86/kernel/entry_32.S arch/x86/kernel/entry_64.S arch/x86/kernel/ptrace.c +1 more+20 -579 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/3] reduce nohz_full syscall overhead by 10%

Profiling reveals that a lot of the overhead from the nohz_full accounting seems to come not from the accounting itself, but from disabling and re-enabling interrupts.

This patch series removes the interrupt disabling & re-enabling from __acct_update_integrals, which is called on both syscall entry and exit, as well as from the user_exit called on syscall entry.

Together they speed up a benchmark that calls getpriority in a row 10 million times by about 10%:

run time system time
vanilla 5.49s 2.08s
__acct patch 5.21s 1.92s
both patches 4.88s 1.71s