Re: [PATCH io_uring 02/16] io_uring/zcrx: move RQ head/tail to separate cache lines

Mina Almasry <[email protected]>
Newsgroups org.kernel.vger.io-uring,org.kernel.vger.netdev
Message-ID <CAHS8izPWWk1wxwbfLHKQQrHA1vGURSf6A9cmWMskb6aSfNYVjw@mail.gmail.com>
On Tue, Aug 11, 2026 at 6:16 AM Pavel Begunkov <[email protected]> wrote:
>
> On 8/10/26 18:35, Mina Almasry wrote:
> > On Fri, Aug 7, 2026 at 6:25 AM Pavel Begunkov <[email protected]> wrote:
> >>
> >> RQ head and tail are currently put into the same cache line, which can
> >> cause false sharing problems when refill is run on another CPU. Put them
> >> into separate cache lines.
> ...>> +struct zcrx_rq_hdr {
> >> +       u32             head ____cacheline_aligned_in_smp;
> >> +       u32             tail ____cacheline_aligned_in_smp;
> >> +};
> >> +
> >>   struct zcrx_rq {
> >>          spinlock_t                      lock;
> >> -       struct io_uring                 *ring;
> >> +       struct zcrx_rq_hdr              *ring;
> >
> > Is this not a problem in general for everything/most/a lot of using
> > struct io_uring? Should you make this change to struct io_uring
> > itself?
>
> No, io_uring headers are usually accessed by the same task,
> that's unlike zcrx where the consumer and the producer are
> two distinct entities.
>

K, thanks.

Reviewed-by: Mina Almasry <[email protected]>

-- 
Thanks,
Mina
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.