]> www.infradead.org Git - users/dwmw2/linux.git/commit
eth: bnxt: update header sizing defaults
authorJakub Kicinski <kuba@kernel.org>
Sun, 19 Jan 2025 02:05:17 +0000 (18:05 -0800)
committerJakub Kicinski <kuba@kernel.org>
Mon, 20 Jan 2025 19:44:58 +0000 (11:44 -0800)
commit99d028c63457773152964ba3abc0d8fb8cf220bf
tree49f9dc74373711be6ce2aebabfa60564977b0d68
parentbee018052d1bbfa6d33ca016a42e8e2534429492
eth: bnxt: update header sizing defaults

300-400B RPC requests are fairly common. With the current default
of 256B HDS threshold bnxt ends up splitting those, lowering PCIe
bandwidth efficiency and increasing the number of memory allocation.

Increase the HDS threshold to fit 4 buffers in a 4k page.
This works out to 640B as the threshold on a typical kernel confing.
This change increases the performance for a microbenchmark which
receives 400B RPCs and sends empty responses by 4.5%.
Admittedly this is just a single benchmark, but 256B works out to
just 6 (so 2 more) packets per head page, because shinfo size
dominates the headers.

Now that we use page pool for the header pages I was also tempted
to default rx_copybreak to 0, but in synthetic testing the copybreak
size doesn't seem to make much difference.

Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20250119020518.1962249-8-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c