Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Sep 2006 16:58:23 +0900
From:      Pyun YongHyeon <pyunyh@gmail.com>
To:        Jack Vogel <jfvogel@gmail.com>
Cc:        freebsd-net <freebsd-net@freebsd.org>, freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: RFC: TSO patch for current
Message-ID:  <20060904075823.GA1210@cdnetworks.co.kr>
In-Reply-To: <2a41acea0609011551v40338539u4eef48d091dd12ab@mail.gmail.com>
References:  <2a41acea0609011551v40338539u4eef48d091dd12ab@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Sep 01, 2006 at 03:51:21PM -0700, Jack Vogel wrote:
 > This is a patch for the stack and the em driver to enable TSO
 > on CURRENT. Previously I had problems getting it to work, but
 > this is functional.
 > 
 > I should note that CURRENT is being a pain right now, when
 > I comment out em in the config the kernel panics coming up,
 > so I had to substitute this code into the tree. Rather bizarre :)
 > 
 > I have this functionality running on a 6.1 based system, and
 > our test group is already testing against that driver, so far
 > things are looking good.
 > 
 > I have designed it so the driver can continue to be built
 > without support. There is also a sysctl in the stack code
 > so you can set net.inet.tcp.tso_enable on or off and
 > compare.
 > 
 > I know there may be some refinements to add in, but I
 > would like to get this into CURRENT as a start.
 > 
 > Comments?
 > 

It seems that 8254x also supports UDP segmentation offloading
feature. Have you tried to implement it?
According to the data sheet checksums are not accurate above 12K
frame size but I couldn't find frame size restrictions in TSO path.
What is maximum frame size supported by TSO?
It seems that TSO assumes IP/TCP/UDP checksum offloading is always
enabled by hardware. What if users disable IP/TCP/UDP checksum
offloading with ifconfig(8)? What happen if users disable hardware
VLAN tag insertion with ifconfig(8)?
It woud be even better if users can disable/enable TSO capability
for each network devices with ifconfig(8) instead of relying on
global sysctl MIB(net.inet.tcp.tso_enable).

Btw, do you have benchmark numbers?

 > Jack

-- 
Regards,
Pyun YongHyeon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060904075823.GA1210>