* [PATCH net] Revert "net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled"
@ 2024-10-04 14:21 Jakub Kicinski
2024-10-04 22:52 ` Jacob Keller
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Jakub Kicinski @ 2024-10-04 14:21 UTC (permalink / raw)
To: davem
Cc: netdev, edumazet, pabeni, Jakub Kicinski, Jon Hunter,
alexandre.torgue, joabreu, mcoquelin.stm32, hawk, 0x1207
This reverts commit b514c47ebf41a6536551ed28a05758036e6eca7c.
The commit describes that we don't have to sync the page when
recycling, and it tries to optimize that case. But we do need
to sync after allocation. Recycling side should be changed to
pass the right sync size instead.
Fixes: b514c47ebf41 ("net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled")
Reported-by: Jon Hunter <jonathanh@nvidia.com>
Link: https://lore.kernel.org/20241004070846.2502e9ea@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
CC: alexandre.torgue@foss.st.com
CC: joabreu@synopsys.com
CC: mcoquelin.stm32@gmail.com
CC: hawk@kernel.org
CC: 0x1207@gmail.com
---
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index e2140482270a..d3895d7eecfc 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -2035,7 +2035,7 @@ static int __alloc_dma_rx_desc_resources(struct stmmac_priv *priv,
rx_q->queue_index = queue;
rx_q->priv_data = priv;
- pp_params.flags = PP_FLAG_DMA_MAP | (xdp_prog ? PP_FLAG_DMA_SYNC_DEV : 0);
+ pp_params.flags = PP_FLAG_DMA_MAP | PP_FLAG_DMA_SYNC_DEV;
pp_params.pool_size = dma_conf->dma_rx_size;
num_pages = DIV_ROUND_UP(dma_conf->dma_buf_sz, PAGE_SIZE);
pp_params.order = ilog2(num_pages);
--
2.46.2
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH net] Revert "net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled"
2024-10-04 14:21 [PATCH net] Revert "net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled" Jakub Kicinski
@ 2024-10-04 22:52 ` Jacob Keller
2024-10-06 11:27 ` Furong Xu
2024-10-08 0:00 ` patchwork-bot+netdevbpf
2 siblings, 0 replies; 4+ messages in thread
From: Jacob Keller @ 2024-10-04 22:52 UTC (permalink / raw)
To: Jakub Kicinski, davem
Cc: netdev, edumazet, pabeni, Jon Hunter, alexandre.torgue, joabreu,
mcoquelin.stm32, hawk, 0x1207
On 10/4/2024 7:21 AM, Jakub Kicinski wrote:
> This reverts commit b514c47ebf41a6536551ed28a05758036e6eca7c.
>
> The commit describes that we don't have to sync the page when
> recycling, and it tries to optimize that case. But we do need
> to sync after allocation. Recycling side should be changed to
> pass the right sync size instead.
Makes sense. A proper fix would be to pass something in from the
recycling code to disable sink.
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
>
> Fixes: b514c47ebf41 ("net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled")
> Reported-by: Jon Hunter <jonathanh@nvidia.com>
> Link: https://lore.kernel.org/20241004070846.2502e9ea@kernel.org
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
> CC: alexandre.torgue@foss.st.com
> CC: joabreu@synopsys.com
> CC: mcoquelin.stm32@gmail.com
> CC: hawk@kernel.org
> CC: 0x1207@gmail.com
> ---
> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index e2140482270a..d3895d7eecfc 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -2035,7 +2035,7 @@ static int __alloc_dma_rx_desc_resources(struct stmmac_priv *priv,
> rx_q->queue_index = queue;
> rx_q->priv_data = priv;
>
> - pp_params.flags = PP_FLAG_DMA_MAP | (xdp_prog ? PP_FLAG_DMA_SYNC_DEV : 0);
> + pp_params.flags = PP_FLAG_DMA_MAP | PP_FLAG_DMA_SYNC_DEV;
> pp_params.pool_size = dma_conf->dma_rx_size;
> num_pages = DIV_ROUND_UP(dma_conf->dma_buf_sz, PAGE_SIZE);
> pp_params.order = ilog2(num_pages);
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH net] Revert "net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled"
2024-10-04 14:21 [PATCH net] Revert "net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled" Jakub Kicinski
2024-10-04 22:52 ` Jacob Keller
@ 2024-10-06 11:27 ` Furong Xu
2024-10-08 0:00 ` patchwork-bot+netdevbpf
2 siblings, 0 replies; 4+ messages in thread
From: Furong Xu @ 2024-10-06 11:27 UTC (permalink / raw)
To: Jakub Kicinski
Cc: davem, netdev, edumazet, pabeni, Jon Hunter, alexandre.torgue,
joabreu, mcoquelin.stm32, hawk
On Fri, 4 Oct 2024 07:21:15 -0700, Jakub Kicinski <kuba@kernel.org> wrote:
> This reverts commit b514c47ebf41a6536551ed28a05758036e6eca7c.
>
> The commit describes that we don't have to sync the page when
> recycling, and it tries to optimize that case. But we do need
> to sync after allocation. Recycling side should be changed to
> pass the right sync size instead.
Thanks for pointing this regression out.
I will send a new patch that passes the right sync size as you
suggested after this revert is applied to all affected
kernel versions to finish what I have stared :)
Reviewed-by: Furong Xu <0x1207@gmail.com>
>
> Fixes: b514c47ebf41 ("net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled")
> Reported-by: Jon Hunter <jonathanh@nvidia.com>
> Link: https://lore.kernel.org/20241004070846.2502e9ea@kernel.org
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
> CC: alexandre.torgue@foss.st.com
> CC: joabreu@synopsys.com
> CC: mcoquelin.stm32@gmail.com
> CC: hawk@kernel.org
> CC: 0x1207@gmail.com
> ---
> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index e2140482270a..d3895d7eecfc 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -2035,7 +2035,7 @@ static int __alloc_dma_rx_desc_resources(struct stmmac_priv *priv,
> rx_q->queue_index = queue;
> rx_q->priv_data = priv;
>
> - pp_params.flags = PP_FLAG_DMA_MAP | (xdp_prog ? PP_FLAG_DMA_SYNC_DEV : 0);
> + pp_params.flags = PP_FLAG_DMA_MAP | PP_FLAG_DMA_SYNC_DEV;
> pp_params.pool_size = dma_conf->dma_rx_size;
> num_pages = DIV_ROUND_UP(dma_conf->dma_buf_sz, PAGE_SIZE);
> pp_params.order = ilog2(num_pages);
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH net] Revert "net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled"
2024-10-04 14:21 [PATCH net] Revert "net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled" Jakub Kicinski
2024-10-04 22:52 ` Jacob Keller
2024-10-06 11:27 ` Furong Xu
@ 2024-10-08 0:00 ` patchwork-bot+netdevbpf
2 siblings, 0 replies; 4+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-10-08 0:00 UTC (permalink / raw)
To: Jakub Kicinski
Cc: davem, netdev, edumazet, pabeni, jonathanh, alexandre.torgue,
joabreu, mcoquelin.stm32, hawk, 0x1207
Hello:
This patch was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Fri, 4 Oct 2024 07:21:15 -0700 you wrote:
> This reverts commit b514c47ebf41a6536551ed28a05758036e6eca7c.
>
> The commit describes that we don't have to sync the page when
> recycling, and it tries to optimize that case. But we do need
> to sync after allocation. Recycling side should be changed to
> pass the right sync size instead.
>
> [...]
Here is the summary with links:
- [net] Revert "net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled"
https://git.kernel.org/netdev/net/c/5546da79e6cc
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-10-08 0:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-04 14:21 [PATCH net] Revert "net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled" Jakub Kicinski
2024-10-04 22:52 ` Jacob Keller
2024-10-06 11:27 ` Furong Xu
2024-10-08 0:00 ` patchwork-bot+netdevbpf
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).