diff --git a/[refs] b/[refs] index 24e092d0921f..725fdbb18bce 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 45c01e824991b2dd0a332e19efc4901acb31209f +refs/heads/master: f333fdc9098b71e2687e4e9b6349fcb352960d66 diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index 7178b8c2351c..aa960b84b881 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -4134,7 +4134,7 @@ asmlinkage void __sched schedule(void) struct task_struct *prev, *next; unsigned long *switch_count; struct rq *rq; - int cpu; + int cpu, hrtick = sched_feat(HRTICK); need_resched: preempt_disable(); @@ -4149,7 +4149,8 @@ asmlinkage void __sched schedule(void) schedule_debug(prev); - hrtick_clear(rq); + if (hrtick) + hrtick_clear(rq); /* * Do the rq-clock update outside the rq lock: @@ -4197,7 +4198,8 @@ asmlinkage void __sched schedule(void) } else spin_unlock_irq(&rq->lock); - hrtick_set(rq); + if (hrtick) + hrtick_set(rq); if (unlikely(reacquire_kernel_lock(current) < 0)) goto need_resched_nonpreemptible;