Skip site navigation (1)Skip section navigation (2)
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>