[RFC] Allow m_dup() to use JUMBO clusters

From: Hans Petter Selasky <hps_at_selasky.org>
Date: Mon, 07 Jul 2014 10:12:07 +0200
Hi,

I'm asking for some input on the attached m_dup() patch, so that 
existing functionality or dependencies are not broken. The background 
for the change is to allow m_dup() to defrag long mbuf chains that 
doesn't fit into a specific hardware's scatter gather entries, typically 
when doing TSO.

In my case the HW limit is 16 entries of length 4K for doing a 64KByte 
TSO packet. Currently m_dup() is at best producing 32 entries of each 2K 
for a 64Kbytes TSO packet.

By allowing m_dup() to get JUMBO clusters when allocating mbufs, we 
avoid creating a new function, specific to the hardware, to defrag some 
rare-occurring very long mbuf chains into a mbuf chain below 16 entries.

Any comments?

--HPS


Received on Mon Jul 07 2014 - 06:11:58 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:50 UTC