bce(4) - com_no_buffers (Again)
Pyun YongHyeon
pyunyh at gmail.com
Mon Sep 13 22:50:22 UTC 2010
On Mon, Sep 13, 2010 at 03:21:13PM -0700, David Christensen wrote:
> > 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.
>
I meant tcp_lro implementation of FreeBSD. ATM tcp_lro_rx() runs
long list of sanity checks before combining TCP segments into a TCP
segment but if TCP header is split with its payload I guess we can
optimize that path. This way we may be able to support LRO over
VLAN, I guess.
More information about the freebsd-net
mailing list