svn commit: r277213 - in head: share/man/man9 sys/kern sys/ofed/include/linux sys/sys
Hans Petter Selasky
hps at selasky.org
Wed Jan 21 08:31:25 UTC 2015
On 01/21/15 00:53, Sean Bruno wrote:
> Unkown to me. Nor am I aware of anyone else who ever hit our panics
> either. Our environment, and the failure, was only seen in the Intel
> 10GE space (ixgbe). This is an artifact of our use cases, and hasn't
> been expanded nor tested in our environment with other vendor interfaces.
>
> sean
Hi,
I've seen this with Mellanox hardware when running some special tests,
but not during regular use yet. That was the reason for going into the
callout subsystem in the first place. 40GE.
Also I would like to mention during the heat of this discussion, that
during X-mas this year, I had a very heavy discussion with Attilio and a
few other FreeBSD developers, who's name was on a patch (r220456) that
changed how the return value of "callout_active()" works.
"callout_active()" is heavily used inside the TCP stack and what was
found is there is a potential race related to migrating the callout from
one CPU to the other, which in turn might give other symptoms than a
spinlock hang.
FYI:
https://svnweb.freebsd.org/base?view=revision&revision=225057
Cite: "If the newly scheduled thread wants to acquire the old queue it
will just spin forever."
This description reminds me very much of what "Jason Wolfe", others and
myself have seen.
Konstantin, you're responsible for r220456 (Approved by: kib). I would
like to ask what investigation you did to ensure that you solved the
problem as described in the commit message and didn't introduce a new one?
In r220456 the "callout_reset_on()" function was changed in a way that
directly conflicts with how the TCP stack works, by not always ensuring
that "callout_active()" returns non-zero after a callout is restarted!
See return at line 821:
> https://svnweb.freebsd.org/base/head/sys/kern/kern_timeout.c?revision=225057&view=markup&pathrev=225057#l821
Kib: Any comments?
--HPS
More information about the svn-src-all
mailing list