netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/7] ibmvnic RR performance improvements
@ 2024-08-01 21:23 Nick Child
  2024-08-01 21:23 ` [PATCH net-next 1/7] ibmvnic: Only replenish rx pool when resources are getting low Nick Child
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Nick Child @ 2024-08-01 21:23 UTC (permalink / raw)
  To: netdev; +Cc: bjking1, haren, ricklind, Nick Child

Hello!

This patchset aims to increase the ibmvnic small packet request
response transaction rate.

When measuring transaction rate on several netperf tcp_rr connections,
a ~2x improvement can be observed! No regressions were seen when
performing other bw/latency tests.

The main points of improvement were from:
 - Patch 1 - request response tests will almost never fill a napi budget
             so wasting time replenishing every poll can be expensive
 - Patch 6 - Turns out that updating BQL completed bytes more than once per
             interrupt can be a really bad idea!

The final patch SHOULD be temporary, we are waiting for our FW teams to
clarify some documentation items. Within a few years that logic should
be replaced. In the meantime, it only effects non-GSO + CSO + !xmit_more
packets. There was no effect on performance from this patch.

Looking forward to any and all feedback!
Thanks,
  Nick Child

Nick Child (7):
  ibmvnic: Only replenish rx pool when resources are getting low
  ibmvnic: Use header len helper functions on tx
  ibmvnic: Reduce memcpys in tx descriptor generation
  ibmvnic: Remove duplicate memory barriers in tx
  ibmvnic: Introduce send sub-crq direct
  ibmvnic: Only record tx completed bytes once per handler
  ibmvnic: Perform tx CSO during send scrq direct

 drivers/net/ethernet/ibm/ibmvnic.c | 174 +++++++++++++++++------------
 1 file changed, 102 insertions(+), 72 deletions(-)

-- 
2.43.0


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

end of thread, other threads:[~2024-08-05 19:10 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-01 21:23 [PATCH net-next 0/7] ibmvnic RR performance improvements Nick Child
2024-08-01 21:23 ` [PATCH net-next 1/7] ibmvnic: Only replenish rx pool when resources are getting low Nick Child
2024-08-01 21:23 ` [PATCH net-next 2/7] ibmvnic: Use header len helper functions on tx Nick Child
2024-08-01 21:23 ` [PATCH net-next 3/7] ibmvnic: Reduce memcpys in tx descriptor generation Nick Child
2024-08-01 21:23 ` [PATCH net-next 4/7] ibmvnic: Remove duplicate memory barriers in tx Nick Child
2024-08-01 21:23 ` [PATCH net-next 5/7] ibmvnic: Introduce send sub-crq direct Nick Child
2024-08-01 21:23 ` [PATCH net-next 6/7] ibmvnic: Only record tx completed bytes once per handler Nick Child
2024-08-01 21:23 ` [PATCH net-next 7/7] ibmvnic: Perform tx CSO during send scrq direct Nick Child
2024-08-03  0:15   ` Jakub Kicinski
2024-08-05 13:52     ` Nick Child
2024-08-05 19:09       ` Jakub Kicinski

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).