diff options
Diffstat (limited to 'kernel/locking')
| -rw-r--r-- | kernel/locking/rtmutex.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c index 2e960a2bab81..aa4dff04b594 100644 --- a/kernel/locking/rtmutex.c +++ b/kernel/locking/rtmutex.c | |||
| @@ -213,6 +213,18 @@ struct task_struct *rt_mutex_get_top_task(struct task_struct *task) | |||
| 213 | } | 213 | } |
| 214 | 214 | ||
| 215 | /* | 215 | /* |
| 216 | * Called by sched_setscheduler() to check whether the priority change | ||
| 217 | * is overruled by a possible priority boosting. | ||
| 218 | */ | ||
| 219 | int rt_mutex_check_prio(struct task_struct *task, int newprio) | ||
| 220 | { | ||
| 221 | if (!task_has_pi_waiters(task)) | ||
| 222 | return 0; | ||
| 223 | |||
| 224 | return task_top_pi_waiter(task)->task->prio <= newprio; | ||
| 225 | } | ||
| 226 | |||
| 227 | /* | ||
| 216 | * Adjust the priority of a task, after its pi_waiters got modified. | 228 | * Adjust the priority of a task, after its pi_waiters got modified. |
| 217 | * | 229 | * |
| 218 | * This can be both boosting and unboosting. task->pi_lock must be held. | 230 | * This can be both boosting and unboosting. task->pi_lock must be held. |
