]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit1df8ef269e6296a9ac61dc4e2cf5bf427dad27bf
tree05d01c69167837b133d302c539d284fc27d437bd
parent9c1ff694a0ef642a9a8a61f603978449226a2b2b
parent94a7313d5a1704c435320a54ca3a2ca2c5d67b68
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>