diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-11 08:28:00 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-11 08:28:00 +0000 |
commit | 3565071f226432336a54d0193d729fa4508a3394 (patch) | |
tree | 4cde13f078f84c0a7785d234fd52edce7c90546a /debian/patches-rt/0001-sched-core-Provide-a-method-to-check-if-a-task-is-PI.patch | |
parent | Adding upstream version 6.6.15. (diff) | |
download | linux-3565071f226432336a54d0193d729fa4508a3394.tar.xz linux-3565071f226432336a54d0193d729fa4508a3394.zip |
Adding debian version 6.6.15-2.debian/6.6.15-2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches-rt/0001-sched-core-Provide-a-method-to-check-if-a-task-is-PI.patch')
-rw-r--r-- | debian/patches-rt/0001-sched-core-Provide-a-method-to-check-if-a-task-is-PI.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/debian/patches-rt/0001-sched-core-Provide-a-method-to-check-if-a-task-is-PI.patch b/debian/patches-rt/0001-sched-core-Provide-a-method-to-check-if-a-task-is-PI.patch new file mode 100644 index 0000000000..35892558e6 --- /dev/null +++ b/debian/patches-rt/0001-sched-core-Provide-a-method-to-check-if-a-task-is-PI.patch @@ -0,0 +1,54 @@ +From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +Date: Fri, 4 Aug 2023 13:30:37 +0200 +Subject: [PATCH 1/3] sched/core: Provide a method to check if a task is + PI-boosted. +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.6/older/patches-6.6.7-rt18.tar.xz + +Provide a method to check if a task inherited the priority from another +task. This happens if a task owns a lock which is requested by a task +with higher priority. This can be used as a hint to add a preemption +point to the critical section. + +Provide a function which reports true if the task is PI-boosted. + +Link: https://lore.kernel.org/r/20230804113039.419794-2-bigeasy@linutronix.de +Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +--- + include/linux/sched.h | 1 + + kernel/sched/core.c | 15 +++++++++++++++ + 2 files changed, 16 insertions(+) + +--- a/include/linux/sched.h ++++ b/include/linux/sched.h +@@ -1905,6 +1905,7 @@ static inline int dl_task_check_affinity + } + #endif + ++extern bool task_is_pi_boosted(const struct task_struct *p); + extern int yield_to(struct task_struct *p, bool preempt); + extern void set_user_nice(struct task_struct *p, long nice); + extern int task_prio(const struct task_struct *p); +--- a/kernel/sched/core.c ++++ b/kernel/sched/core.c +@@ -8923,6 +8923,21 @@ static inline void preempt_dynamic_init( + + #endif /* #ifdef CONFIG_PREEMPT_DYNAMIC */ + ++/* ++ * task_is_pi_boosted - Check if task has been PI boosted. ++ * @p: Task to check. ++ * ++ * Return true if task is subject to priority inheritance. ++ */ ++bool task_is_pi_boosted(const struct task_struct *p) ++{ ++ int prio = p->prio; ++ ++ if (!rt_prio(prio)) ++ return false; ++ return prio != p->normal_prio; ++} ++ + /** + * yield - yield the current processor to other threads. + * |