From owner-cvs-all@FreeBSD.ORG Mon May 21 18:49:02 2007 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AC7BE16A46C; Mon, 21 May 2007 18:49:02 +0000 (UTC) (envelope-from gallatin@cs.duke.edu) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.freebsd.org (Postfix) with ESMTP id 6FBD413C483; Mon, 21 May 2007 18:49:02 +0000 (UTC) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.14.0/8.14.0) with ESMTP id l4LIn1R9004350 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 21 May 2007 14:49:01 -0400 (EDT) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.12.9p2/8.12.9/Submit) id l4LImXHG015127; Mon, 21 May 2007 14:48:33 -0400 (EDT) (envelope-from gallatin) Date: Mon, 21 May 2007 14:48:33 -0400 From: Andrew Gallatin To: Andrew Gallatin Message-ID: <20070521144833.A15093@grasshopper.cs.duke.edu> References: <200705211832.l4LIWSo9009052@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200705211832.l4LIWSo9009052@repoman.freebsd.org>; from gallatin@FreeBSD.org on Mon, May 21, 2007 at 06:32:04PM +0000 X-Operating-System: FreeBSD 4.9-RELEASE-p1 on an i386 Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/mxge eth_z8e.dat.gz.uu ethp_z8e.dat.gz.uu if_mxge.c if_mxge_var.h mxge_lro.c mxge_mcp.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 May 2007 18:49:02 -0000 Andrew Gallatin [gallatin@FreeBSD.org] wrote: > > - Switch the driver from chaining MJUMPAGESIZE clusters to using > MJUM9BYTES clusters to avoid mbuf chaining overheads. Due to this > change, people running obsolete f/w images will be limited to an MTU of > PAGE_SIZE - 16. This takes mxge jumbo frame receive performance from 9.3Gb/s to line rate on high-end machines (dual dual-core woodcrests), and from ~6.9Gb/s to ~8.2Gb/s on low end machines (2.0GHz athlon64 x2). > - Add (disabled by default) support for Large Receive Offload. For the curious, LRO is analagous to a receive side version of TSO. The NIC (or driver) merges several consecutive segments from the same connection, fixing up checksums, etc. Rather than up to 45 separate 1500 byte frames (meaning up to 45 trips through the network stack), the driver merges them into one 65212 byte frame. When enabled (and the overlength frame check in ether_input defeated) LRO roughly doubles standard frame performance on anything I've tried. Drew