[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