Thread (1 message) 1 message, 1 author, 2016-08-03

Re: [IPoIB] Missing join mcast events causing full machine lockup

From: Nikolay Borisov <hidden>
Date: 2016-08-03 08:18:58


On 08/02/2016 11:29 PM, Doug Ledford wrote:
On Tue, 2016-08-02 at 23:18 +0300, Nikolay Borisov wrote:
quoted
On Tue, Aug 2, 2016 at 10:21 PM, Doug Ledford [off-list ref]
wrote:
quoted
On Thu, 2016-07-21 at 10:31 +0300, Nikolay Borisov wrote:
quoted
Hello,

With running the risk of sounding like a broken record, I came
across
another case where ipoib can cause the machine to go haywire due
to
missed join requests. This is on 4.4.14 kernel. Here is what I
believe
happens:
[ snip long traces ]
quoted
This makes me wonder if using timeouts is actually better than
blindly relying on completing the join.
Blindly relying on the join completions is not what we do.  We are
very
careful to make sure we always have the right locking so that we
never
leave a join request in the BUSY state without running the
completion
at some time.  If you are seeing us do that, then it means we have
a
bug in our locking or state processing.  The answer then is to find
that bug and not to paper over it with a timeout.  Can you find
some
way to reproduce this with a 4.7 kernel?
Unfortunately my environment is constrained to 4.4 kernel. I will,
however,
try and check if I can get a couple of IB-enabled nodes on 4.7 and
see
if something
shows up. And while I don't have a 100% reproducer for it I see those
symptoms rather regularly
on production nodes. I'm able and happy to extract any runtime state
that might be useful in debugging this i.e I can obtain crashdumps
and
reverse the state of the ipoib stacks. I've seen this issue on 3.12
and on 4.4.
Some of my previous emails also show this manifesting in hangs in
cm_destroy_id
as well. So clearly there is a problem there but it proves very
elusive.
Can you give any clues as to what's causing it?  Do you have link flap?
SM bounces?  Lots of multicast joins/leaves?
I spoke with the network admins and they said that the network is not flapping, 
we shouldn't have a lot of join/leaves since the network is not that big and is 
stable. E.g. once nodes joins they usually are not restarted. 

Here are some messages which result after the said hangs happen: 

Aug  1 04:53:51 node1 kernel: [29100.763267] ib0: Budget exhausted after napi rescheduled 
Jul 31 21:29:46 node1 kernel: [ 2457.666476] NETDEV WATCHDOG: ib0 (ib_qib): transmit queue 0 timed out
Jul 29 05:17:36 node1 kernel: [ 8797.968402] ib0: dev_queue_xmit failed to requeue packet
Jul 23 19:27:22 node1 kernel: ib0: packet len 2200 (> 2048) too long to send, dropping
Jul 25 01:01:52 node1 kernel: ib0: queue stopped 1, tx_head 124520708, tx_tail 124520580

Aug  2 10:05:26 node15 bird6: LocalIPv6: Socket error on ib0: No buffer space available

Also I'm being told that *sometimes* doing a remote port reset actually fixes the issue,
but only sometimes as otherwise the port is completely inactive. 

I realize this is not much information but this issue really just rears its ugly head out
of nowhere and usually there doesn't seem to be that much information ;(
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help