Merge branch 'ibmvnic-use-a-set-of-ltbs-per-pool'
authorJakub Kicinski <kuba@kernel.org>
Fri, 15 Apr 2022 21:02:09 +0000 (14:02 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 15 Apr 2022 21:02:11 +0000 (14:02 -0700)
commita992005cc88bdb6628110b97afe8651baa87f1e3
tree05d01c69167837b133d302c539d284fc27d437bd
parent7b05c54226015807993a7d1bab0ba59d00e592ad
parent93b1ebb348a94a04ae4bfbd028f89005090cf8c7
Merge branch 'ibmvnic-use-a-set-of-ltbs-per-pool'

Sukadev Bhattiprolu says:

====================
ibmvnic: Use a set of LTBs per pool

ibmvnic uses a single large long term buffer (LTB) per rx or tx
pool (queue). This has two limitations.

First, if we need to free/allocate an LTB (eg during a reset), under
low memory conditions, the allocation can fail.

Second, the kernel limits the size of single LTB (DMA buffer) to 16MB
(based on MAX_ORDER). With jumbo frames (mtu = 9000) we can only have
about 1763 buffers per LTB (16MB / 9588 bytes per frame) even though
the max supported buffers is 4096. (The 9588 instead of 9088 comes from
IBMVNIC_BUFFER_HLEN.)

To overcome these limitations, allow creating a set of LTBs per queue.
====================

Link: https://lore.kernel.org/r/20220413171026.1264294-1-drt@linux.ibm.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>