Re: [PATCH v1 11/17] lib: add light-weight queuing mechanism.

From: Chuck Lever III
Date: Thu Sep 14 2023 - 10:05:28 EST




> On Sep 11, 2023, at 9:30 PM, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Tue, 12 Sep 2023 09:19:59 +1000 "NeilBrown" <neilb@xxxxxxx> wrote:
>
>> Plain old list_heads (which the code currently uses) require a spinlock
>> to be taken to insert something into the queue. As this is usually in
>> bh context, it needs to be a spin_lock_bh(). My understanding is that
>> the real-time developers don't much like us disabling bh. It isn't an
>> enormous win switching from a list_head list to a llist_node list, but
>> there are small gains such as object size reduction and less locking. I
>> particularly wanted an easy-to-use library facility that could be
>> plugged in to two different uses cases in the sunrpc code and there
>> didn't seem to be one. I could have written one using list_head, but
>> llist seemed a better fix. I think the code in sunrpc that uses this
>> lwq looks a lot neater after the conversion.
>
> Thanks. Could we please get words such as these into the changelog,
> describing why it was felt necessary to add more library code?
>
> And also into the .c file, to help people who are looking at it and
> wondering "can I use this". And to help reviewers who are wondering
> "could they have used Neil's thing".

Neil, are you planning to send along a replacement for 11/17,
or would you like me to fold the above into the patch description
I have now?


--
Chuck Lever