Re: [PATCH] block: remove redundant explicit memory barrier from rq_qos waiter and waker

From: Omar Sandoval
Date: Tue Oct 22 2024 - 15:59:39 EST


On Tue, Oct 22, 2024 at 02:31:53PM +0800, Muchun Song wrote:
>
>
> > On Oct 21, 2024, at 21:45, Jens Axboe <axboe@xxxxxxxxx> wrote:
> >
> > On 10/21/24 2:52 AM, Muchun Song wrote:
> >> The memory barriers in list_del_init_careful() and list_empty_careful()
> >> in pairs already handle the proper ordering between data.got_token
> >> and data.wq.entry. So remove the redundant explicit barriers. And also
> >> change a "break" statement to "return" to avoid redundant calling of
> >> finish_wait().
> >
> > Not sure why you didn't CC Omar on this one, as he literally just last
> > week fixed an issue related to this.
>
> Hi Jens,
>
> Yes. I only CC the author of patch of adding the barriers, I thought
> they should be more confident about this. Thanks for your reminder.
> I saw Omar's great fix. And thanks for you help me CC Omar. I think
> he'll be also suitable for commenting on this patch.
>
> Muchun,
> Thanks.

Well there goes my streak of not reading memory-barriers.txt for a few
months...

This looks fine to me. wake_up_process() also implies a full memory
barrier, so I that smp_wmb() was extra redundant.

Reviewed-by: Omar Sandoval <osandov@xxxxxx>