Re: [Intel-wired-lan] [PATCH net-next 07/10] mlx5e: Call skb_metadata_set when skb->data points past metadata

2026-01-13 Thread Jakub Sitnicki via Intel-wired-lan
On Tue, Jan 13, 2026 at 08:08 AM +02, Tariq Toukan wrote:
> On 10/01/2026 23:05, Jakub Sitnicki wrote:
>> Prepare to copy the XDP metadata into an skb extension in skb_metadata_set.
>> Adjust the driver to pull from skb->data before calling skb_metadata_set.
>> Signed-off-by: Jakub Sitnicki 
>> ---
>>   drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c
>> b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c
>> index 2b05536d564a..20c983c3ce62 100644
>> --- a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c
>> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c
>> @@ -237,8 +237,8 @@ static struct sk_buff *mlx5e_xsk_construct_skb(struct 
>> mlx5e_rq *rq, struct xdp_b
>>  skb_put_data(skb, xdp->data_meta, totallen);
>>  if (metalen) {
>> -skb_metadata_set(skb, metalen);
>>  __skb_pull(skb, metalen);
>> +skb_metadata_set(skb, metalen);
>>  }
>>  return skb;
>> 
>
> Patch itself is simple..
>
> I share my concerns about the perf impact of the series idea.
> Do you have some working PoC? Please share some perf numbers..

Sorry, nothing to show yet. I've shared more context in my reply to
Jakub [1].

The series itself is an interface cleanup, whether we end up needing it
for the metadata effort or not. Hence I wanted to salvage it from [2].

[1] https://lore.kernel.org/all/[email protected]/
[2] 
https://lore.kernel.org/r/20260107-skb-meta-safeproof-netdevs-rx-only-v3-0-0d461c5e4...@cloudflare.com



Re: [Intel-wired-lan] [PATCH net-next 07/10] mlx5e: Call skb_metadata_set when skb->data points past metadata

2026-01-12 Thread Tariq Toukan




On 10/01/2026 23:05, Jakub Sitnicki wrote:

Prepare to copy the XDP metadata into an skb extension in skb_metadata_set.

Adjust the driver to pull from skb->data before calling skb_metadata_set.

Signed-off-by: Jakub Sitnicki 
---
  drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c 
b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c
index 2b05536d564a..20c983c3ce62 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c
@@ -237,8 +237,8 @@ static struct sk_buff *mlx5e_xsk_construct_skb(struct 
mlx5e_rq *rq, struct xdp_b
skb_put_data(skb, xdp->data_meta, totallen);
  
  	if (metalen) {

-   skb_metadata_set(skb, metalen);
__skb_pull(skb, metalen);
+   skb_metadata_set(skb, metalen);
}
  
  	return skb;




Patch itself is simple..

I share my concerns about the perf impact of the series idea.
Do you have some working PoC? Please share some perf numbers..



Re: [Intel-wired-lan] [PATCH net-next 07/10] mlx5e: Call skb_metadata_set when skb->data points past metadata

2026-01-12 Thread Loktionov, Aleksandr


> -Original Message-
> From: Intel-wired-lan  On Behalf
> Of Jakub Sitnicki via Intel-wired-lan
> Sent: Saturday, January 10, 2026 10:05 PM
> To: [email protected]
> Cc: David S. Miller ; Eric Dumazet
> ; Jakub Kicinski ; Paolo Abeni
> ; Simon Horman ; Michael Chan
> ; Pavan Chebbi ;
> Andrew Lunn ; Nguyen, Anthony L
> ; Kitszel, Przemyslaw
> ; Saeed Mahameed ;
> Leon Romanovsky ; Tariq Toukan ;
> Mark Bloch ; Alexei Starovoitov ;
> Daniel Borkmann ; Jesper Dangaard Brouer
> ; John Fastabend ;
> Stanislav Fomichev ; intel-wired-
> [email protected]; [email protected]; [email protected]
> Subject: [Intel-wired-lan] [PATCH net-next 07/10] mlx5e: Call
> skb_metadata_set when skb->data points past metadata
> 
> Prepare to copy the XDP metadata into an skb extension in
> skb_metadata_set.
> 
> Adjust the driver to pull from skb->data before calling
> skb_metadata_set.
> 
> Signed-off-by: Jakub Sitnicki 
> ---
>  drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c
> b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c
> index 2b05536d564a..20c983c3ce62 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c
> @@ -237,8 +237,8 @@ static struct sk_buff
> *mlx5e_xsk_construct_skb(struct mlx5e_rq *rq, struct xdp_b
>   skb_put_data(skb, xdp->data_meta, totallen);
> 
>   if (metalen) {
> - skb_metadata_set(skb, metalen);
>   __skb_pull(skb, metalen);
> + skb_metadata_set(skb, metalen);
>   }
> 
>   return skb;
> 
> --
> 2.43.0
Reviewed-by: Aleksandr Loktionov