2023-12-19 11:11:38

by Vladimir Oltean

[permalink] [raw]
Subject: [PATCH net-next] xsk: make struct xsk_cb_desc available outside CONFIG_XDP_SOCKETS

The ice driver fails to build when CONFIG_XDP_SOCKETS is disabled.

drivers/net/ethernet/intel/ice/ice_base.c:533:21: error:
variable has incomplete type 'struct xsk_cb_desc'
struct xsk_cb_desc desc = {};
^
include/net/xsk_buff_pool.h:15:8: note:
forward declaration of 'struct xsk_cb_desc'
struct xsk_cb_desc;
^

Fixes: d68d707dcbbf ("ice: Support XDP hints in AF_XDP ZC mode")
Closes: https://lore.kernel.org/netdev/[email protected]/
Signed-off-by: Vladimir Oltean <[email protected]>
---
Posting to net-next since this tree is broken at this stage, not only
bpf-next.

include/net/xdp_sock_drv.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/net/xdp_sock_drv.h b/include/net/xdp_sock_drv.h
index b62bb8525a5f..526c1e7f505e 100644
--- a/include/net/xdp_sock_drv.h
+++ b/include/net/xdp_sock_drv.h
@@ -12,14 +12,14 @@
#define XDP_UMEM_MIN_CHUNK_SHIFT 11
#define XDP_UMEM_MIN_CHUNK_SIZE (1 << XDP_UMEM_MIN_CHUNK_SHIFT)

-#ifdef CONFIG_XDP_SOCKETS
-
struct xsk_cb_desc {
void *src;
u8 off;
u8 bytes;
};

+#ifdef CONFIG_XDP_SOCKETS
+
void xsk_tx_completed(struct xsk_buff_pool *pool, u32 nb_entries);
bool xsk_tx_peek_desc(struct xsk_buff_pool *pool, struct xdp_desc *desc);
u32 xsk_tx_peek_release_desc_batch(struct xsk_buff_pool *pool, u32 max);
--
2.34.1



2023-12-19 11:27:19

by Larysa Zaremba

[permalink] [raw]
Subject: Re: [PATCH net-next] xsk: make struct xsk_cb_desc available outside CONFIG_XDP_SOCKETS

On Tue, Dec 19, 2023 at 01:02:05PM +0200, Vladimir Oltean wrote:
> The ice driver fails to build when CONFIG_XDP_SOCKETS is disabled.
>
> drivers/net/ethernet/intel/ice/ice_base.c:533:21: error:
> variable has incomplete type 'struct xsk_cb_desc'
> struct xsk_cb_desc desc = {};
> ^
> include/net/xsk_buff_pool.h:15:8: note:
> forward declaration of 'struct xsk_cb_desc'
> struct xsk_cb_desc;
> ^
>
> Fixes: d68d707dcbbf ("ice: Support XDP hints in AF_XDP ZC mode")
> Closes: https://lore.kernel.org/netdev/[email protected]/
> Signed-off-by: Vladimir Oltean <[email protected]>

This probably should go through bpf-next. Other than that, fix looks fine:

Acked-by: Larysa Zaremba <[email protected]>

> ---
> Posting to net-next since this tree is broken at this stage, not only
> bpf-next.
>
> include/net/xdp_sock_drv.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/net/xdp_sock_drv.h b/include/net/xdp_sock_drv.h
> index b62bb8525a5f..526c1e7f505e 100644
> --- a/include/net/xdp_sock_drv.h
> +++ b/include/net/xdp_sock_drv.h
> @@ -12,14 +12,14 @@
> #define XDP_UMEM_MIN_CHUNK_SHIFT 11
> #define XDP_UMEM_MIN_CHUNK_SIZE (1 << XDP_UMEM_MIN_CHUNK_SHIFT)
>
> -#ifdef CONFIG_XDP_SOCKETS
> -
> struct xsk_cb_desc {
> void *src;
> u8 off;
> u8 bytes;
> };
>
> +#ifdef CONFIG_XDP_SOCKETS
> +
> void xsk_tx_completed(struct xsk_buff_pool *pool, u32 nb_entries);
> bool xsk_tx_peek_desc(struct xsk_buff_pool *pool, struct xdp_desc *desc);
> u32 xsk_tx_peek_release_desc_batch(struct xsk_buff_pool *pool, u32 max);
> --
> 2.34.1
>

2023-12-19 11:47:23

by Vladimir Oltean

[permalink] [raw]
Subject: Re: [PATCH net-next] xsk: make struct xsk_cb_desc available outside CONFIG_XDP_SOCKETS

On Tue, Dec 19, 2023 at 12:26:50PM +0100, Larysa Zaremba wrote:
> On Tue, Dec 19, 2023 at 01:02:05PM +0200, Vladimir Oltean wrote:
> > The ice driver fails to build when CONFIG_XDP_SOCKETS is disabled.
> >
> > drivers/net/ethernet/intel/ice/ice_base.c:533:21: error:
> > variable has incomplete type 'struct xsk_cb_desc'
> > struct xsk_cb_desc desc = {};
> > ^
> > include/net/xsk_buff_pool.h:15:8: note:
> > forward declaration of 'struct xsk_cb_desc'
> > struct xsk_cb_desc;
> > ^
> >
> > Fixes: d68d707dcbbf ("ice: Support XDP hints in AF_XDP ZC mode")
> > Closes: https://lore.kernel.org/netdev/[email protected]/
> > Signed-off-by: Vladimir Oltean <[email protected]>
>
> This probably should go through bpf-next. Other than that, fix looks fine:
>
> Acked-by: Larysa Zaremba <[email protected]>
>
> > ---
> > Posting to net-next since this tree is broken at this stage, not only
> > bpf-next.

It was a conscious decision. Build fixes are more time critical than
most other patches, and net-next is more likely to suffer from a failure
with CONFIG_XDP_SOCKETS disabled than bpf-next is. But, sure, it's up to
maintainers to figure out how to deal with it.

2023-12-19 16:49:59

by Maciej Fijalkowski

[permalink] [raw]
Subject: Re: [PATCH net-next] xsk: make struct xsk_cb_desc available outside CONFIG_XDP_SOCKETS

On Tue, Dec 19, 2023 at 01:02:05PM +0200, Vladimir Oltean wrote:
> The ice driver fails to build when CONFIG_XDP_SOCKETS is disabled.
>
> drivers/net/ethernet/intel/ice/ice_base.c:533:21: error:
> variable has incomplete type 'struct xsk_cb_desc'
> struct xsk_cb_desc desc = {};
> ^
> include/net/xsk_buff_pool.h:15:8: note:
> forward declaration of 'struct xsk_cb_desc'
> struct xsk_cb_desc;
> ^
>
> Fixes: d68d707dcbbf ("ice: Support XDP hints in AF_XDP ZC mode")
> Closes: https://lore.kernel.org/netdev/[email protected]/
> Signed-off-by: Vladimir Oltean <[email protected]>

Reviewed-by: Maciej Fijalkowski <[email protected]>

Thanks Vladimir for acting upon this. Later on let us think about moving
this definition to xdp_sock.h maybe.

> ---
> Posting to net-next since this tree is broken at this stage, not only
> bpf-next.
>
> include/net/xdp_sock_drv.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/net/xdp_sock_drv.h b/include/net/xdp_sock_drv.h
> index b62bb8525a5f..526c1e7f505e 100644
> --- a/include/net/xdp_sock_drv.h
> +++ b/include/net/xdp_sock_drv.h
> @@ -12,14 +12,14 @@
> #define XDP_UMEM_MIN_CHUNK_SHIFT 11
> #define XDP_UMEM_MIN_CHUNK_SIZE (1 << XDP_UMEM_MIN_CHUNK_SHIFT)
>
> -#ifdef CONFIG_XDP_SOCKETS
> -
> struct xsk_cb_desc {
> void *src;
> u8 off;
> u8 bytes;
> };
>
> +#ifdef CONFIG_XDP_SOCKETS
> +
> void xsk_tx_completed(struct xsk_buff_pool *pool, u32 nb_entries);
> bool xsk_tx_peek_desc(struct xsk_buff_pool *pool, struct xdp_desc *desc);
> u32 xsk_tx_peek_release_desc_batch(struct xsk_buff_pool *pool, u32 max);
> --
> 2.34.1
>

2023-12-19 22:57:56

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH net-next] xsk: make struct xsk_cb_desc available outside CONFIG_XDP_SOCKETS



On 12/19/23 03:02, Vladimir Oltean wrote:
> The ice driver fails to build when CONFIG_XDP_SOCKETS is disabled.
>
> drivers/net/ethernet/intel/ice/ice_base.c:533:21: error:
> variable has incomplete type 'struct xsk_cb_desc'
> struct xsk_cb_desc desc = {};
> ^
> include/net/xsk_buff_pool.h:15:8: note:
> forward declaration of 'struct xsk_cb_desc'
> struct xsk_cb_desc;
> ^
>
> Fixes: d68d707dcbbf ("ice: Support XDP hints in AF_XDP ZC mode")
> Closes: https://lore.kernel.org/netdev/[email protected]/
> Signed-off-by: Vladimir Oltean <[email protected]>


Acked-by: Randy Dunlap <[email protected]>
Tested-by: Randy Dunlap <[email protected]> # build-tested

Thanks.

> ---
> Posting to net-next since this tree is broken at this stage, not only
> bpf-next.
>
> include/net/xdp_sock_drv.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/net/xdp_sock_drv.h b/include/net/xdp_sock_drv.h
> index b62bb8525a5f..526c1e7f505e 100644
> --- a/include/net/xdp_sock_drv.h
> +++ b/include/net/xdp_sock_drv.h
> @@ -12,14 +12,14 @@
> #define XDP_UMEM_MIN_CHUNK_SHIFT 11
> #define XDP_UMEM_MIN_CHUNK_SIZE (1 << XDP_UMEM_MIN_CHUNK_SHIFT)
>
> -#ifdef CONFIG_XDP_SOCKETS
> -
> struct xsk_cb_desc {
> void *src;
> u8 off;
> u8 bytes;
> };
>
> +#ifdef CONFIG_XDP_SOCKETS
> +
> void xsk_tx_completed(struct xsk_buff_pool *pool, u32 nb_entries);
> bool xsk_tx_peek_desc(struct xsk_buff_pool *pool, struct xdp_desc *desc);
> u32 xsk_tx_peek_release_desc_batch(struct xsk_buff_pool *pool, u32 max);

--
#Randy
https://people.kernel.org/tglx/notes-about-netiquette
https://subspace.kernel.org/etiquette.html

2024-01-02 23:40:39

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH net-next] xsk: make struct xsk_cb_desc available outside CONFIG_XDP_SOCKETS

Hello:

This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <[email protected]>:

On Tue, 19 Dec 2023 13:02:05 +0200 you wrote:
> The ice driver fails to build when CONFIG_XDP_SOCKETS is disabled.
>
> drivers/net/ethernet/intel/ice/ice_base.c:533:21: error:
> variable has incomplete type 'struct xsk_cb_desc'
> struct xsk_cb_desc desc = {};
> ^
> include/net/xsk_buff_pool.h:15:8: note:
> forward declaration of 'struct xsk_cb_desc'
> struct xsk_cb_desc;
> ^
>
> [...]

Here is the summary with links:
- [net-next] xsk: make struct xsk_cb_desc available outside CONFIG_XDP_SOCKETS
https://git.kernel.org/netdev/net-next/c/8dc4c4100065

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html