Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Mar 2015 09:55:56 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Gleb Smirnoff <glebius@freebsd.org>
Cc:        svn-src-projects@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r279882 - in projects/ifnet/sys/dev: bge msk xl
Message-ID:  <7233313.sLAkjvMmOW@ralph.baldwin.cx>
In-Reply-To: <201503111043.t2BAhFCF028283@svn.freebsd.org>
References:  <201503111043.t2BAhFCF028283@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, March 11, 2015 10:43:15 AM Gleb Smirnoff wrote:
> Author: glebius
> Date: Wed Mar 11 10:43:14 2015
> New Revision: 279882
> URL: https://svnweb.freebsd.org/changeset/base/279882
> 
> Log:
>   For now use consistent softc lock in drivers transmit methods, due to a
>   theoretical race condition.  Note that the condition exists in all
>   drbr(9) based drivers in head, but never was evidenced.  Nevertheless,
>   leave this branch for KPI redesign instead of performance experiments.
> 
>   Discussed with:	jhb

To be clear, I certainly saw this race trigger in a production environment on 
a very quiet interface used for timing by transmitting multicast packets once 
a second.  Every once in a while a ping from a monitoring system would 
coincide with the periodic transmit causing the trylock to fail (the ping 
locked the transmit ring to send the echo reply).  This caused the timing 
multicast packet to be delayed for a full second until the next timing packet 
was sent.

Just dropping the trylocks is indeed the simplest solution to this problem.

-- 
John Baldwin



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