Use of contiguous physical memory in ixgbe driver

Alexander V. Chernikov melifaro at
Tue May 6 16:07:25 UTC 2014

Hello guys.
(bootstrapping people involved in previous version of this topic, sorry 
for that)

There were several problem descriptions/discussions on using 9k+ mbufs 
with current allocator in:
if_em: kern/183381

general one:

I'd like to add ixgbe (and i40e with igb) to the list. We're facing the 
same problem for a long time.

As far as I can understand,
a) everyone (tm) is aware of current 9/16k allocation problems leading 
to sudden network failures.
b) such mbufs sizes are not absolute evil and can be useful on 40/100G 
and for TSO cases.
c) however, no one is able to / willing to fix our allocator to 
pre-allocate special arena for mbufs >= 4k page size.
d) so most people have written their own local hacks to disable 9k mbufs 
and use 4k ones.

e) our list is not full, people with 
mellanox/solarflare/broadcom/emulex/etc are still not there (and most if 
not all 10g NICs support scatter/gather).

Can we add more generic hack moving default mbuf size decision from NIC 
driver to OS and make it tunable for user?

Example path for Intel ones is attached.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mbuf_sizes.diff
Type: text/x-patch
Size: 4001 bytes
Desc: not available
URL: <>

More information about the freebsd-net mailing list