linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] sched,time: reduce nohz_full syscall overhead 40%
@ 2016-01-29 22:22 riel
  2016-01-29 22:22 ` [PATCH 1/2] sched,time: remove pointless divides from __acct_update_integrals riel
  2016-01-29 22:23 ` [PATCH 2/2] sched,time: call __acct_update_integrals once a jiffy riel
  0 siblings, 2 replies; 12+ messages in thread
From: riel @ 2016-01-29 22:22 UTC (permalink / raw)
  To: linux-kernel; +Cc: tglx, mingo, peterz, luto, fweisbec

Running with nohz_full introduces a fair amount of overhead.
Specifically, various things that are usually done from the
timer interrupt are now done at syscall, irq, and guest
entry and exit times.

However, some of the code that is called every single time
has only ever worked at jiffy resolution. The code in
__acct_update_integrals was also doing some unnecessary
calculations.

Getting rid of the unnecessary calculations, without
changing any of the functionality in __acct_update_integrals
gets us about a 10% win.

Not calling __acct_update_integrals and related code unless
jiffies changed (__acct_update_integrals does not do anything
with smaller time intervals anyway) shaves off a further 30%.

Run times for the microbenchmark:
    
4.4					3.8 seconds
4.5-rc1					3.7 seconds
4.5-rc1 + first patch			3.3 seconds
4.5-rc1 + both patches			2.3 seconds

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-01-31  5:38 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-29 22:22 [PATCH 0/2] sched,time: reduce nohz_full syscall overhead 40% riel
2016-01-29 22:22 ` [PATCH 1/2] sched,time: remove pointless divides from __acct_update_integrals riel
2016-01-29 23:10   ` Peter Zijlstra
2016-01-30  3:36     ` Frederic Weisbecker
2016-01-30  3:47       ` Rik van Riel
2016-01-29 22:23 ` [PATCH 2/2] sched,time: call __acct_update_integrals once a jiffy riel
2016-01-29 22:43   ` Rik van Riel
2016-01-30 14:20     ` Frederic Weisbecker
2016-01-30 17:53       ` Mike Galbraith
2016-01-30 20:36         ` Frederic Weisbecker
2016-01-31  2:52           ` Mike Galbraith
2016-01-31  5:37             ` Mike Galbraith

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).