preempt/dynamic: Provide cond_resched() and might_resched() static calls
authorPeter Zijlstra (Intel) <peterz@infradead.org>
Mon, 18 Jan 2021 14:12:20 +0000 (15:12 +0100)
committerIngo Molnar <mingo@kernel.org>
Wed, 17 Feb 2021 13:12:42 +0000 (14:12 +0100)
commitb965f1ddb47daa5b8b2e2bc9c921431236830367
tree32cb3a3c160f26523f6d07a9ddadaf25df7c13a3
parent6ef869e0647439af0fc28dde162d33320d4e1dd7
preempt/dynamic: Provide cond_resched() and might_resched() static calls

Provide static calls to control cond_resched() (called in !CONFIG_PREEMPT)
and might_resched() (called in CONFIG_PREEMPT_VOLUNTARY) to that we
can override their behaviour when preempt= is overriden.

Since the default behaviour is full preemption, both their calls are
ignored when preempt= isn't passed.

  [fweisbec: branch might_resched() directly to __cond_resched(), only
             define static calls when PREEMPT_DYNAMIC]

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lkml.kernel.org/r/20210118141223.123667-6-frederic@kernel.org
include/linux/kernel.h
include/linux/sched.h
kernel/sched/core.c