Re: [PATCH net-next v2 13/18] xsk: allow attaching XSk pool via xdp_rxq_info_reg_mem_model()

Maciej Fijalkowski
2024-10-17T12:50:09Z

On Tue, Oct 15, 2024 at 04:53:45PM +0200, Alexander Lobakin wrote:
> When you register an XSk pool as XDP Rxq info memory model, you then
> need to manually attach it after the registration.
> Let the user combine both actions into one by just passing a pointer
> to the pool directly to xdp_rxq_info_reg_mem_model(), which will take
> care of calling xsk_pool_set_rxq_info(). This looks similar to how a
> &page_pool gets registered and reduce repeating driver code.
>
> Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com>

Makes sense, but why not address callsites in drivers while at it?
Otherwise in case this would be merged this would be called twice. Not a
big deal though.

Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>

> ---
> net/core/xdp.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/net/core/xdp.c b/net/core/xdp.c
> index 9dc103a09b5c..371c26c203b2 100644
> --- a/net/core/xdp.c
> +++ b/net/core/xdp.c
> @@ -358,6 +358,9 @@ int xdp_rxq_info_reg_mem_model(struct xdp_rxq_info *xdp_rxq,
> if (IS_ERR(xdp_alloc))
> return PTR_ERR(xdp_alloc);
>
> + if (type == MEM_TYPE_XSK_BUFF_POOL && allocator)
> + xsk_pool_set_rxq_info(allocator, xdp_rxq);
> +
> if (trace_mem_connect_enabled() && xdp_alloc)
> trace_mem_connect(xdp_alloc, xdp_rxq);
> return 0;
> --
> 2.46.2
>