On 1/15/20 10:16 AM, David Laight wrote: > From: linux-kernel-owner@xxxxxxxxxxxxxxx <linux-kernel-owner@xxxxxxxxxxxxxxx> On Behalf Of Waiman Long >> Sent: 15 January 2020 14:27 > ... >>>> if ((wstate == WRITER_HANDOFF) && >>>> - (rwsem_spin_on_owner(sem, 0) == OWNER_NULL)) >>>> + rwsem_spin_on_owner(sem, RWSEM_NONSPINNABLE) == OWNER_NULL) >>> Nit: the inner braces in the first half of the conditional aren't required >>> either. >> I typically over-parenthesize the code to make it easier to read as we >> don't need to think too much about operator precedence to see if it is >> doing the right thing. > The problem is it actually makes it harder to read. > It is difficult for the 'mark 1 eyeball' to follow lots of sets of brackets. > Since == (etc) are the lowest priority operators (apart from ?:) they > never need (). > > David > > - > Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK > Registration No: 1397386 (Wales) > It depends. I find it hard to read an expression with "&" and "&&" without parentheses. Anyway, I will admit that the above code is inconsistent in term of how parentheses are used. So I will change that. Cheers, Longman