From 0f3cd437a1d88b2a77dfb146c88a297bea974ceb Mon Sep 17 00:00:00 2001 From: Amit Cohen Date: Tue, 18 Jun 2024 13:34:44 +0200 Subject: [PATCH] mlxsw: pci: Optimize data buffer access Before accessing data buffer, call net_prefetch() to load it into the cache. This change improves driver performance, CPU can handle about 7.1% more packets per second. Signed-off-by: Amit Cohen Reviewed-by: Ido Schimmel Signed-off-by: Petr Machata Reviewed-by: Jiri Pirko Link: https://lore.kernel.org/r/1fa07c510890866a6f201163ab7e78890ba28b3b.1718709196.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/mellanox/mlxsw/pci.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/mellanox/mlxsw/pci.c b/drivers/net/ethernet/mellanox/mlxsw/pci.c index 4b34db2ae8f01..6f41747e8a763 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/pci.c +++ b/drivers/net/ethernet/mellanox/mlxsw/pci.c @@ -396,6 +396,7 @@ static struct sk_buff *mlxsw_pci_rdq_build_skb(struct page *page, unsigned int allocated_size; struct sk_buff *skb; + net_prefetch(data); allocated_size = page_size(page); skb = napi_build_skb(data, allocated_size); if (unlikely(!skb))