summary refs log tree commit diff
path: root/kernel/sched
diff options
context:
space:
mode:
authorWanpeng Li <wanpeng.li@linux.intel.com>2014-11-26 08:44:06 +0800
committerIngo Molnar <mingo@kernel.org>2015-02-04 07:52:28 +0100
commit868933359a3bdda25b562e9d41bce7071edc1b08 (patch)
treeaf8aafb7fce81a7ea1681bd3c41eddcd927fc89c /kernel/sched
parent75381608e8410a72ae8b4080849dc86b472c01fb (diff)
downloadlinux-868933359a3bdda25b562e9d41bce7071edc1b08.tar.gz
sched: Fix hrtick_start() on UP
The commit 177ef2a6315e ("sched/deadline: Fix a precision problem in
the microseconds range") forgot to change the UP version of
hrtick_start(), do so now.

Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com>
Fixes: 177ef2a6315e ("sched/deadline: Fix a precision problem in the microseconds range")
[ Fixed the changelog. ]
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Juri Lelli <juri.lelli@arm.com>
Cc: Kirill Tkhai <ktkhai@parallels.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1416962647-76792-7-git-send-email-wanpeng.li@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/sched')
-rw-r--r--kernel/sched/core.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index d59652d60f86..5091fd4feed8 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -492,6 +492,11 @@ static __init void init_hrtick(void)
  */
 void hrtick_start(struct rq *rq, u64 delay)
 {
+	/*
+	 * Don't schedule slices shorter than 10000ns, that just
+	 * doesn't make sense. Rely on vruntime for fairness.
+	 */
+	delay = max_t(u64, delay, 10000LL);
 	__hrtimer_start_range_ns(&rq->hrtick_timer, ns_to_ktime(delay), 0,
 			HRTIMER_MODE_REL_PINNED, 0);
 }