Use of contiguous physical memory in ixgbe driver

Alexander V. Chernikov melifaro at FreeBSD.org
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
cxgbe: 
http://lists.freebsd.org/pipermail/freebsd-net/2014-February/037834.html

general one: 
http://lists.freebsd.org/pipermail/freebsd-net/2014-January/037673.html

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: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20140506/782f51f6/attachment.bin>


More information about the freebsd-net mailing list