bce(4) - com_no_buffers (Again)

David Christensen davidch at broadcom.com
Mon Sep 13 22:53:44 UTC 2010


> I'm under the impression the header splitting in bce(4) is for
> LRO(opposite of TSO), not for VM magic to enable page flipping
> tricks.

Header splitting was implemented in the Linux version of bce(4)
to prevent jumbo memory allocations.  Allocating 9KB frames was
causing problems on systems used for virtualization.  (Harder to
find a contiguous 9KB frame when a hypervisor is in use.)  Using 
4KB or smaller buffer sizes was considered more compatible with
virtualization.  

LRO (Large Receive Offload, aka Transparent Packet Aggregation
or TPA on the 10Gb controllers) is not supported on the 1Gb 
bce(4) devices.

Dave



More information about the freebsd-net mailing list