[RFC] Allow m_dup() to use JUMBO clusters
    Hans Petter Selasky 
    hps at selasky.org
       
    Mon Jul  7 08:11:58 UTC 2014
    
    
  
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: uipc_mbuf.c.diff
Type: text/x-patch
Size: 588 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20140707/2e6ec2d0/attachment.bin>
    
    
More information about the freebsd-net
mailing list