tick: Add tick skew boot option
authorMike Galbraith <mgalbraith@suse.de>
Tue, 8 May 2012 10:20:58 +0000 (12:20 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 24 May 2012 23:44:50 +0000 (01:44 +0200)
commit5307c9556bc17e3cd26d4e94fc3b2565921834de
treee51937060ccd5e293dec7246a7961b0ae5509a53
parentce004178be1bbaa292e9e6497939e2970300095a
tick: Add tick skew boot option

Let the user decide whether power consumption or jitter is the
more important consideration for their machines.

Quoting removal commit af5ab277ded04bd9bc6b048c5a2f0e7d70ef0867:

"Historically, Linux has tried to make the regular timer tick on the
 various CPUs not happen at the same time, to avoid contention on
 xtime_lock.

 Nowadays, with the tickless kernel, this contention no longer happens
 since time keeping and updating are done differently. In addition,
 this skew is actually hurting power consumption in a measurable way on
 many-core systems."

Problems:

- Contrary to the above, systems do encounter contention on both
  xtime_lock and RCU structure locks when the tick is synchronized.

- Moderate sized RT systems suffer intolerable jitter due to the tick
  being synchronized.

- SGI reports the same for their large systems.

- Fully utilized systems reap no power saving benefit from skew removal,
  but do suffer from resulting induced lock contention.

0209f649 rcu: limit rcu_node leaf-level fanout
  This patch was born to combat lock contention which testing showed
  to have been _induced by_ skew removal.  Skew the tick, contention
  disappeared virtually completely.

Signed-off-by: Mike Galbraith <mgalbraith@suse.de>
Link: http://lkml.kernel.org/r/1336472458.21924.78.camel@marge.simpson.net
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Documentation/kernel-parameters.txt
kernel/time/tick-sched.c