Message ID | cover.1718709196.git.petrm@nvidia.com (mailing list archive) |
---|---|
Headers | show |
Series | mlxsw: Use page pool for Rx buffers allocation | expand |
Tue, Jun 18, 2024 at 01:34:39PM CEST, petrm@nvidia.com wrote: >Amit Cohen writes: > >After using NAPI to process events from hardware, the next step is to >use page pool for Rx buffers allocation, which is also enhances >performance. > >To simplify this change, first use page pool to allocate one continuous >buffer for each packet, later memory consumption can be improved by using >fragmented buffers. > >This set significantly enhances mlxsw driver performance, CPU can handle >about 370% of the packets per second it previously handled. > >The next planned improvement is using XDP to optimize telemetry. > >Patch set overview: >Patches #1-#2 are small preparations for page pool usage >Patch #3 initializes page pool, but do not use it >Patch #4 converts the driver to use page pool for buffers allocations >Patch #5 is an optimization for buffer access >Patch #6 cleans up an unused structure >Patch #7 uses napi_consume_skb() as part of Tx completion > >Amit Cohen (7): > mlxsw: pci: Split NAPI setup/teardown into two steps > mlxsw: pci: Store CQ pointer as part of RDQ structure > mlxsw: pci: Initialize page pool per CQ > mlxsw: pci: Use page pool for Rx buffers allocation > mlxsw: pci: Optimize data buffer access > mlxsw: pci: Do not store SKB for RDQ elements > mlxsw: pci: Use napi_consume_skb() to free SKB as part of Tx > completion set- Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Hello: This series was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Tue, 18 Jun 2024 13:34:39 +0200 you wrote: > Amit Cohen writes: > > After using NAPI to process events from hardware, the next step is to > use page pool for Rx buffers allocation, which is also enhances > performance. > > To simplify this change, first use page pool to allocate one continuous > buffer for each packet, later memory consumption can be improved by using > fragmented buffers. > > [...] Here is the summary with links: - [net-next,1/7] mlxsw: pci: Split NAPI setup/teardown into two steps https://git.kernel.org/netdev/net-next/c/39fa294f580a - [net-next,2/7] mlxsw: pci: Store CQ pointer as part of RDQ structure https://git.kernel.org/netdev/net-next/c/7555b7f3385f - [net-next,3/7] mlxsw: pci: Initialize page pool per CQ https://git.kernel.org/netdev/net-next/c/5642c6a08693 - [net-next,4/7] mlxsw: pci: Use page pool for Rx buffers allocation https://git.kernel.org/netdev/net-next/c/b5b60bb491b2 - [net-next,5/7] mlxsw: pci: Optimize data buffer access https://git.kernel.org/netdev/net-next/c/0f3cd437a1d8 - [net-next,6/7] mlxsw: pci: Do not store SKB for RDQ elements https://git.kernel.org/netdev/net-next/c/e8441b1f6b64 - [net-next,7/7] mlxsw: pci: Use napi_consume_skb() to free SKB as part of Tx completion https://git.kernel.org/netdev/net-next/c/d94ae6415bec You are awesome, thank you!