Messages in this thread | | | From | Thomas Gleixner <> | Subject | [patch 0/8] sched: Clean up might_sleep() and make it RT aware | Date | Thu, 23 Sep 2021 18:54:34 +0200 (CEST) |
| |
The might sleep checks have grown some warts over time and especially the underscore zoo is hard to follow.
Also the debug output is slightly confusing especially when PREEMPT_RCU is enabled as it does not provide information about the RCU nesting depth which might be the actual culprit. In such a case it might even print confusing information about the place which disabled preemption despite the fact that preemption is actually enabled.
RT in turn had it's own nasty hack to ignore RCU nesting depth because that's required for spin/rw lock held sections.
This series addresses this by:
- Cleaning up the underscore zoo
- Enhancing the debug output
- Making RCU nest depth and preempt count checks distinct
- Fixing up the relevant places to hand in the correct expected values for RT and !RT kernels.
The series is also available from
git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git sched
Thanks,
tglx --- include/linux/kernel.h | 13 +++----- include/linux/preempt.h | 5 +-- include/linux/sched.h | 39 ++++++++++++++++++------- kernel/locking/spinlock_rt.c | 17 ++++++++-- kernel/sched/core.c | 67 +++++++++++++++++++++++++++---------------- mm/memory.c | 2 - 6 files changed, 96 insertions(+), 47 deletions(-)
| |