The patch titled Subject: locking/rwlocks: fix write_lock_nested for RT has been added to the -mm tree. Its filename is locking-rwlocks-introduce-write_lock_nested-fix.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/locking-rwlocks-introduce-write_lock_nested-fix.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/locking-rwlocks-introduce-write_lock_nested-fix.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Minchan Kim <minchan@xxxxxxxxxx> Subject: locking/rwlocks: fix write_lock_nested for RT Fix build break of write_lock_nested for RT. Link: https://lkml.kernel.org/r/YZfrMTAXV56HFWJY@xxxxxxxxxx Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Suggested-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/rwlock_rt.h | 4 ++++ kernel/locking/spinlock_rt.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) --- a/include/linux/rwlock_rt.h~locking-rwlocks-introduce-write_lock_nested-fix +++ a/include/linux/rwlock_rt.h @@ -84,10 +84,14 @@ static __always_inline void write_lock(r rt_write_lock(rwlock); } +#ifdef CONFIG_DEBUG_LOCK_ALLOC static __always_inline void write_lock_nested(rwlock_t *rwlock, int subclass) { rt_write_lock_nested(rwlock, subclass); } +#else +#define write_lock_nested(lock, subclass) rt_write_lock(((void)(subclass), (lock))) +#endif static __always_inline void write_lock_bh(rwlock_t *rwlock) { --- a/kernel/locking/spinlock_rt.c~locking-rwlocks-introduce-write_lock_nested-fix +++ a/kernel/locking/spinlock_rt.c @@ -242,7 +242,7 @@ EXPORT_SYMBOL(rt_write_lock); #ifdef CONFIG_DEBUG_LOCK_ALLOC void __sched rt_write_lock_nested(rwlock_t *rwlock, int subclass) { - ___might_sleep(__FILE__, __LINE__, 0); + rtlock_might_resched(); rwlock_acquire(&rwlock->dep_map, subclass, 0, _RET_IP_); rwbase_write_lock(&rwlock->rwbase, TASK_RTLOCK_WAIT); rcu_read_lock(); _ Patches currently in -mm which might be from minchan@xxxxxxxxxx are zsmalloc-introduce-some-helper-functions.patch zsmalloc-rename-zs_stat_type-to-class_stat_type.patch zsmalloc-decouple-class-actions-from-zspage-works.patch zsmalloc-introduce-obj_allocated.patch zsmalloc-move-huge-compressed-obj-from-page-to-zspage.patch zsmalloc-remove-zspage-isolation-for-migration.patch locking-rwlocks-introduce-write_lock_nested.patch locking-rwlocks-introduce-write_lock_nested-fix.patch zsmalloc-replace-per-zpage-lock-with-pool-migrate_lock.patch