netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH][net-next] net/mlx5: Pick the first matched node of priv.free_list in alloc_4k
@ 2024-08-23  6:16 Li RongQing
  2024-12-13  4:43 ` 答复: " Li,Rongqing
  2024-12-13  7:26 ` Zhu Yanjun
  0 siblings, 2 replies; 3+ messages in thread
From: Li RongQing @ 2024-08-23  6:16 UTC (permalink / raw)
  To: saeedm, leon, tariqt, davem, edumazet, kuba, pabeni, netdev,
	linux-rdma
  Cc: Li RongQing

Pick the first node instead of last, to avoid unnecessary iterating
over whole free list

Signed-off-by: Li RongQing <lirongqing@baidu.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c b/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
index 972e8e9..cd20f11 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
@@ -228,6 +228,7 @@ static int alloc_4k(struct mlx5_core_dev *dev, u64 *addr, u32 function)
 		if (iter->function != function)
 			continue;
 		fp = iter;
+		break;
 	}
 
 	if (list_empty(&dev->priv.free_list) || !fp)
-- 
2.9.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* 答复: [PATCH][net-next] net/mlx5: Pick the first matched node of priv.free_list in alloc_4k
  2024-08-23  6:16 [PATCH][net-next] net/mlx5: Pick the first matched node of priv.free_list in alloc_4k Li RongQing
@ 2024-12-13  4:43 ` Li,Rongqing
  2024-12-13  7:26 ` Zhu Yanjun
  1 sibling, 0 replies; 3+ messages in thread
From: Li,Rongqing @ 2024-12-13  4:43 UTC (permalink / raw)
  To: saeedm@nvidia.com, leon@kernel.org, tariqt@nvidia.com,
	davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
	pabeni@redhat.com, netdev@vger.kernel.org,
	linux-rdma@vger.kernel.org


> Pick the first node instead of last, to avoid unnecessary iterating over whole
> free list
> 
> Signed-off-by: Li RongQing <lirongqing@baidu.com>
> ---
>  drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
> b/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
> index 972e8e9..cd20f11 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
> @@ -228,6 +228,7 @@ static int alloc_4k(struct mlx5_core_dev *dev, u64
> *addr, u32 function)
>  		if (iter->function != function)
>  			continue;
>  		fp = iter;
> +		break;
>  	}
> 
>  	if (list_empty(&dev->priv.free_list) || !fp)
> --


ping

> 2.9.4


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH][net-next] net/mlx5: Pick the first matched node of priv.free_list in alloc_4k
  2024-08-23  6:16 [PATCH][net-next] net/mlx5: Pick the first matched node of priv.free_list in alloc_4k Li RongQing
  2024-12-13  4:43 ` 答复: " Li,Rongqing
@ 2024-12-13  7:26 ` Zhu Yanjun
  1 sibling, 0 replies; 3+ messages in thread
From: Zhu Yanjun @ 2024-12-13  7:26 UTC (permalink / raw)
  To: Li RongQing, saeedm, leon, tariqt, davem, edumazet, kuba, pabeni,
	netdev, linux-rdma

在 2024/8/23 8:16, Li RongQing 写道:
> Pick the first node instead of last, to avoid unnecessary iterating
> over whole free list
> 
> Signed-off-by: Li RongQing <lirongqing@baidu.com>

Your commit is to fix the problem from the following commit?
So the following should be needed.

Fixes: 2726cd4a2928 ("net/mlx5: Dedicate fw page to the requesting function"

commit 2726cd4a29280c20ea983be285a6aefe75b205a4
Author: Eran Ben Elisha <eranbe@mellanox.com>
Date:   Sun May 3 10:15:58 2020 +0300

     net/mlx5: Dedicate fw page to the requesting function

     The cited patch assumes that all chuncks in a fw page belong to the 
same
     function, thus the driver must dedicate fw page to the requesting
     function, which is actually what was intedned in the original fw pages
     allocator design, hence the fwp->func_id !

     Up until the cited patch everything worked ok, but now "relase all 
pages"
     is broken on systems with page_size > 4k.

     Fix this by dedicating fw page to the requesting function id via 
adding a
     func_id parameter to alloc_4k() function.

     Fixes: c6168161f693 ("net/mlx5: Add support for release all pages 
event")
     Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
     Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

Zhu Yanjun

> ---
>   drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c b/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
> index 972e8e9..cd20f11 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
> @@ -228,6 +228,7 @@ static int alloc_4k(struct mlx5_core_dev *dev, u64 *addr, u32 function)
>   		if (iter->function != function)
>   			continue;
>   		fp = iter;
> +		break;
>   	}
>   
>   	if (list_empty(&dev->priv.free_list) || !fp)


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-12-13  7:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-23  6:16 [PATCH][net-next] net/mlx5: Pick the first matched node of priv.free_list in alloc_4k Li RongQing
2024-12-13  4:43 ` 答复: " Li,Rongqing
2024-12-13  7:26 ` Zhu Yanjun

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).