Date: Mon, 13 Sep 2010 15:49:25 -0700 From: Pyun YongHyeon <pyunyh@gmail.com> To: David Christensen <davidch@broadcom.com> Cc: Tom Judge <tom@tomjudge.com>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, Andre Oppermann <andre@freebsd.org>, "yongari@freebsd.org" <yongari@freebsd.org> Subject: Re: bce(4) - com_no_buffers (Again) Message-ID: <20100913224925.GK1229@michelle.cdnetworks.com> In-Reply-To: <5D267A3F22FD854F8F48B3D2B52381933B540B4C14@IRVEXCHCCR01.corp.ad.broadcom.com> References: <4C894A76.5040200@tomjudge.com> <20100910002439.GO7203@michelle.cdnetworks.com> <4C8E3D79.6090102@tomjudge.com> <20100913184833.GF1229@michelle.cdnetworks.com> <4C8E775D.8070202@freebsd.org> <20100913193947.GH1229@michelle.cdnetworks.com> <5D267A3F22FD854F8F48B3D2B52381933B540B4C14@IRVEXCHCCR01.corp.ad.broadcom.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100913224925.GK1229>