Re: [PATCH 2/2] rtmutex: Reduce top-waiter blocking on a lock

From: Davidlohr Bueso
Date: Tue Apr 17 2018 - 13:06:26 EST

On Wed, 11 Apr 2018, kbuild test robot wrote:

Hi Davidlohr,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.16 next-20180411]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

kernel/locking/rtmutex_common.h:62:9: sparse: context imbalance in '__rt_mutex_slowlock' - unexpected unlock

I did:

make C=1 CF=-D__CHECK_ENDIAN__ kernel/locking/rtmutex.o

But cannot trigger this message. There are however a ton of other
sparse issues with 'indirect_branch'. Ie:

./arch/x86/include/asm/nospec-branch.h:144:38: warning: Unknown escape '@'
./include/linux/init.h:134:6: error: attribute 'indirect_branch': unknown attribute
./include/linux/init.h:135:5: error: attribute 'indirect_branch': unknown attribute

More importantly, I don't follow where this "unexpected unlock" would come from
considering that rtmutex doesn't use __acquires/__releases annotations. Nor do
I understand why this patch would produce a new context imbalance.