From: Andi Kleen <a...@linux.intel.com> _cond_resched does at least two explicit calls just to decide to do nothing: _cond_resched and should_resched(). Inline a need_resched() into the caller to avoid these calls in the common case of no reschedule being needed.
Signed-off-by: Andi Kleen <a...@linux.intel.com> --- include/linux/sched.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/sched.h b/include/linux/sched.h index 97f4b78..dd3fafc 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -2435,7 +2435,7 @@ extern int __cond_resched_softirq(void); #ifdef CONFIG_PREEMPT_VOLUNTARY extern int _cond_resched(void); -# define might_resched() _cond_resched() +# define might_resched() (need_resched() ? _cond_resched() : 0) #else # define might_resched() do { } while (0) #endif -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/