Date: Fri, 31 Jul 2015 11:04:08 -0700 From: John Baldwin <jhb@freebsd.org> To: David C Somayajulu <davidcs@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r285973 - head/sys/dev/bxe Message-ID: <13449730.WpJqEYONzp@ralph.baldwin.cx> In-Reply-To: <201507281915.t6SJFjSj084767@repo.freebsd.org> References: <201507281915.t6SJFjSj084767@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?13449730.WpJqEYONzp>