From: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
To: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Cc: <bpf@vger.kernel.org>, <ast@kernel.org>, <daniel@iogearbox.net>,
<andrii@kernel.org>, <netdev@vger.kernel.org>,
<magnus.karlsson@intel.com>, <bjorn@kernel.org>
Subject: Re: [PATCH bpf-next 4/6] xsk: carry a copy of xdp_zc_max_segs within xsk_buff_pool
Date: Thu, 3 Oct 2024 13:47:51 +0200 [thread overview]
Message-ID: <Zv6EZybVMBeHluAl@boxer> (raw)
In-Reply-To: <4aa21712-2643-42e5-a995-d53cf0a53158@linux.dev>
On Wed, Oct 02, 2024 at 08:41:33PM +0100, Vadim Fedorenko wrote:
> On 02/10/2024 16:54, Maciej Fijalkowski wrote:
> > This so we avoid dereferencing struct net_device within hot path.
> >
> > Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> > ---
> > include/net/xsk_buff_pool.h | 1 +
> > net/xdp/xsk_buff_pool.c | 1 +
> > net/xdp/xsk_queue.h | 2 +-
> > 3 files changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/include/net/xsk_buff_pool.h b/include/net/xsk_buff_pool.h
> > index 468a23b1b4c5..8223581d95f8 100644
> > --- a/include/net/xsk_buff_pool.h
> > +++ b/include/net/xsk_buff_pool.h
> > @@ -77,6 +77,7 @@ struct xsk_buff_pool {
> > u32 chunk_shift;
> > u32 frame_len;
> > u8 tx_metadata_len; /* inherited from umem */
> > + u32 xdp_zc_max_segs;
>
> It's better not to make holes in the struct. And looks like it's better
> to move it closer to free_list_cnt to put it on the same cache line with
> tx_descs which is accessed earlier in xskq_cons_read_desc_batch()
> (though the last point is not strict because both cache lines should be
> hot at the moment)
Hi Vadim,
Yeah I agree placement is awkward, i'll move this above tx_metadata_len to
keep booleans together. CL is correct though as ::unaligned is accessed
when parsing/validating descs so as you said, both these CLs are supposed
to be hot.
Thanks for review! Will send a v2.
>
> > u8 cached_need_wakeup;
> > bool uses_need_wakeup;
> > bool unaligned;
>
>
next prev parent reply other threads:[~2024-10-03 11:48 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-02 15:54 [PATCH bpf-next 0/6] xsk: struct diet and cleanups Maciej Fijalkowski
2024-10-02 15:54 ` [PATCH bpf-next 1/6] xsk: get rid of xdp_buff_xsk::xskb_list_node Maciej Fijalkowski
2024-10-04 12:08 ` Daniel Borkmann
2024-10-07 12:16 ` Maciej Fijalkowski
2024-10-02 15:54 ` [PATCH bpf-next 2/6] xsk: s/free_list_node/list_node Maciej Fijalkowski
2024-10-02 15:54 ` [PATCH bpf-next 3/6] xsk: get rid of xdp_buff_xsk::orig_addr Maciej Fijalkowski
2024-10-02 15:54 ` [PATCH bpf-next 4/6] xsk: carry a copy of xdp_zc_max_segs within xsk_buff_pool Maciej Fijalkowski
2024-10-02 19:41 ` Vadim Fedorenko
2024-10-03 11:47 ` Maciej Fijalkowski [this message]
2024-10-02 15:54 ` [PATCH bpf-next 5/6] xsk: wrap duplicated code to function Maciej Fijalkowski
2024-10-02 15:54 ` [PATCH bpf-next 6/6] xsk: use xsk_buff_pool directly for cq functions Maciej Fijalkowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Zv6EZybVMBeHluAl@boxer \
--to=maciej.fijalkowski@intel.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bjorn@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=magnus.karlsson@intel.com \
--cc=netdev@vger.kernel.org \
--cc=vadim.fedorenko@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.