]> www.infradead.org Git - nvme.git/commitdiff
mlxsw: pci: Optimize data buffer access
authorAmit Cohen <amcohen@nvidia.com>
Tue, 18 Jun 2024 11:34:44 +0000 (13:34 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 20 Jun 2024 00:38:11 +0000 (17:38 -0700)
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 <amcohen@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Link: https://lore.kernel.org/r/1fa07c510890866a6f201163ab7e78890ba28b3b.1718709196.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlxsw/pci.c

index 4b34db2ae8f01dbc8bcecb4718c76a8636aea61c..6f41747e8a763226453343c8cde9ed239d3c78fd 100644 (file)
@@ -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))