From owner-svn-src-all@freebsd.org Sat Aug 1 05:32:30 2015 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 427D69B16B1; Sat, 1 Aug 2015 05:32:30 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1FE6416C6; Sat, 1 Aug 2015 05:32:30 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (75-48-78-19.lightspeed.cncrca.sbcglobal.net [75.48.78.19]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 91CD9B918; Sat, 1 Aug 2015 01:32:28 -0400 (EDT) From: John Baldwin To: David C Somayajulu Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r285973 - head/sys/dev/bxe Date: Fri, 31 Jul 2015 11:04:08 -0700 Message-ID: <13449730.WpJqEYONzp@ralph.baldwin.cx> User-Agent: KMail/4.14.3 (FreeBSD/10.2-PRERELEASE; KDE/4.14.3; amd64; ; ) In-Reply-To: <201507281915.t6SJFjSj084767@repo.freebsd.org> References: <201507281915.t6SJFjSj084767@repo.freebsd.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Sat, 01 Aug 2015 01:32:28 -0400 (EDT) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2015 05:32:30 -0000 On Tuesday, July 28, 2015 07:15:45 PM David C Somayajulu wrote: > Author: davidcs > Date: Tue Jul 28 19:15:44 2015 > New Revision: 285973 > URL: https://svnweb.freebsd.org/changeset/base/285973 > > Log: > - Avoid lock contention in the if_transmit callback by using trylock and > enqueueing the frames when it fails. This way there is some latency > removed from the transmitting path. Most drivers that used to do this have stopped doing it do to the race that if you have bursty traffic you can end up with packets delayed until another packet is transmitted. If you are always blasting traffic non-stop, that's fine. If you have bursty traffic, it's not so great. A real-life scenario I had with igb(4) resulted in packets delayed by a full second. -- John Baldwin