netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/6] ibmvnic: Use a set of LTBs per pool
@ 2022-04-13 17:10 Dany Madden
  2022-04-13 17:10 ` [PATCH net-next 1/6] ibmvnic: rename local variable index to bufidx Dany Madden
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Dany Madden @ 2022-04-13 17:10 UTC (permalink / raw)
  To: netdev; +Cc: sukadev

From: Sukadev Bhattiprolu <sukadev@linux.ibm.com>

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.

Sukadev Bhattiprolu (6):
  ibmvnic: rename local variable index to bufidx
  ibmvnic: define map_rxpool_buf_to_ltb()
  ibmvnic: define map_txpool_buf_to_ltb()
  ibmvnic: convert rxpool ltb to a set of ltbs
  ibmvnic: Allow multiple ltbs in rxpool ltb_set
  ibmvnic: Allow multiple ltbs in txpool ltb_set

 drivers/net/ethernet/ibm/ibmvnic.c | 310 ++++++++++++++++++++++++-----
 drivers/net/ethernet/ibm/ibmvnic.h |  54 ++++-
 2 files changed, 308 insertions(+), 56 deletions(-)

-- 
2.27.0


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

end of thread, other threads:[~2022-04-15 21:30 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-13 17:10 [PATCH net-next 0/6] ibmvnic: Use a set of LTBs per pool Dany Madden
2022-04-13 17:10 ` [PATCH net-next 1/6] ibmvnic: rename local variable index to bufidx Dany Madden
2022-04-13 17:10 ` [PATCH net-next 2/6] ibmvnic: define map_rxpool_buf_to_ltb() Dany Madden
2022-04-13 17:10 ` [PATCH net-next 3/6] ibmvnic: define map_txpool_buf_to_ltb() Dany Madden
2022-04-13 17:10 ` [PATCH net-next 4/6] ibmvnic: convert rxpool ltb to a set of ltbs Dany Madden
2022-04-13 17:10 ` [PATCH net-next 5/6] ibmvnic: Allow multiple ltbs in rxpool ltb_set Dany Madden
2022-04-13 17:10 ` [PATCH net-next 6/6] ibmvnic: Allow multiple ltbs in txpool ltb_set Dany Madden
2022-04-15 21:30 ` [PATCH net-next 0/6] ibmvnic: Use a set of LTBs per pool patchwork-bot+netdevbpf

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