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

From: Andrew Morton
Date: Mon Sep 11 2023 - 23:01:33 EST


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".