sched: Keep at least 1 tick per second for active dynticks tasks
authorFrederic Weisbecker <fweisbec@gmail.com>
Fri, 3 May 2013 01:39:05 +0000 (03:39 +0200)
committerFrederic Weisbecker <fweisbec@gmail.com>
Sat, 4 May 2013 06:32:02 +0000 (08:32 +0200)
commit265f22a975c1e4cc3a4d1f94a3ec53ffbb6f5b9f
treec5b7ec6b64fc31e879e730d2edf8e836cfaf7e9b
parent73c30828771acafb0a5e3a1c4cf75e6c5dc5f98a
sched: Keep at least 1 tick per second for active dynticks tasks

The scheduler doesn't yet fully support environments
with a single task running without a periodic tick.

In order to ensure we still maintain the duties of scheduler_tick(),
keep at least 1 tick per second.

This makes sure that we keep the progression of various scheduler
accounting and background maintainance even with a very low granularity.
Examples include cpu load, sched average, CFS entity vruntime,
avenrun and events such as load balancing, amongst other details
handled in sched_class::task_tick().

This limitation will be removed in the future once we get
these individual items to work in full dynticks CPUs.

Suggested-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Hakan Akkan <hakanakkan@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Kevin Hilman <khilman@linaro.org>
Cc: Li Zhong <zhong@linux.vnet.ibm.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
include/linux/sched.h
kernel/sched/core.c
kernel/sched/idle_task.c
kernel/sched/sched.h
kernel/time/tick-sched.c