Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Jan 2020 11:09:42 -1000 (HST)
From:      Jeff Roberson <jroberson@jroberson.net>
To:        Gleb Smirnoff <glebius@freebsd.org>
Cc:        Hans Petter Selasky <hselasky@freebsd.org>, src-committers@freebsd.org,  svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r357293 - head/sys/net
Message-ID:  <alpine.BSF.2.21.9999.2001301107560.1198@desktop>
In-Reply-To: <20200130205629.GK1268@FreeBSD.org>
References:  <202001301204.00UC43Rw022059@repo.freebsd.org> <20200130205629.GK1268@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 30 Jan 2020, Gleb Smirnoff wrote:

> On Thu, Jan 30, 2020 at 12:04:03PM +0000, Hans Petter Selasky wrote:
> H> Author: hselasky
> H> Date: Thu Jan 30 12:04:02 2020
> H> New Revision: 357293
> H> URL: https://svnweb.freebsd.org/changeset/base/357293
> H>
> H> Log:
> H>   Widen EPOCH(9) usage in netisr.
> H>
> H>   Software interrupt handlers are allowed to sleep. In swi_net() there
> H>   is a read lock behind NETISR_RLOCK() which in turn ends up calling
> H>   msleep() which means the whole of swi_net() cannot be protected by an
> H>   EPOCH(9) section. By default the NETISR_LOCKING feature is disabled.
> H>
> H>   This issue was introduced by r357004. This is a preparation step for
> H>   replacing the functionality provided by r357004.
> H>
> H>   Found by:	kib@
> H>   Sponsored by:	Mellanox Technologies
>
> What?! NETISR_RLOCK() which in turn ends up calling msleep()? Can you please
> explain this nonsense?

It does not look like NETISR_RLOCK is configured as sleepable so it just 
uses a mtx.

Jeff

>
> -- 
> Gleb Smirnoff
>



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