On Mon, 2017-08-21 at 15:12 +0200, Lukas Wunner wrote: > [ ... ] > Cc: Bart Van Assche <bart.vanassche@xxxxxxx> > Cc: Alasdair Kergon <agk@xxxxxxxxxx> > Cc: Mike Snitzer <snitzer@xxxxxxxxxx> > Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> This Cc-list is incomplete. Previous <linux/bitops.h> patches went in through Andrew Morton's tree so I think an ack from Andrew Morton is needed before this patch can be sent to Linus Torvalds. Please also Cc other frequent contributors to this header file, e.g. Ingo Molnar and Peter Zijlstra. Please also consider to Cc the LKML for this patch or even for the entire series. > +/** > + * assign_bit - Assign value to a bit in memory > + * @value: the value to assign > + * @nr: the bit to set > + * @addr: the address to start counting from > + */ > +static __always_inline void assign_bit(bool value, long nr, > + volatile unsigned long *addr) > +{ > + if (value) > + set_bit(nr, addr); > + else > + clear_bit(nr, addr); > +} > + > +static __always_inline void __assign_bit(bool value, long nr, > + volatile unsigned long *addr) > +{ > + if (value) > + __set_bit(nr, addr); > + else > + __clear_bit(nr, addr); > +} Why has __always_inline been specified? What makes you think that you know better than the compiler whether or not these functions should be inlined? Thanks, Bart.��.n��������+%������w��{.n�����{�� b���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f