Patch "IB/IPoIB: Don't update neigh validity for unresolved entries" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
IB/IPoIB: Don't update neigh validity for unresolved entries
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
ib-ipoib-don-t-update-neigh-validity-for-unresolved-entries.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
61c78eea9516a921799c17b4c20558e2aa780fd3Mon Sep 17 00:00:00 2001
From: Erez Shitrit <[email protected]>
Date: Sat, 4 Jun 2016 15:15:19 +0300
Subject: IB/IPoIB: Don't update neigh validity for unresolved entries
From: Erez Shitrit <[email protected]>
commit 61c78eea9516a921799c17b4c20558e2aa780fd3 upstream.
ipoib_neigh_get unconditionally updates the "alive" variable member on any packet send. This prevents the neighbor garbage collection from cleaning out a dead neighbor entry if we are still queueing packets for it. If the queue for this neighbor is full, then don't update the alive timestamp. That way the neighbor can time out even if packets are still being queued as long as none of them are being sent.
--- drivers/infiniband/ulp/ipoib/ipoib_main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/infiniband/ulp/ipoib/ipoib_main.c +3 -1
@@ -1131,7 +1131,9 @@ struct ipoib_neigh *ipoib_neigh_get(stru neigh =NULL ; goto out_unlock; } - neigh->alive = jiffies; + +if (likely (skb_queue_len (&neigh->queue) <IPOIB_MAX_PATH_REC_QUEUE )) + neigh->alive = jiffies; goto out_unlock; } }
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/ib-ipoib-don-t-update-neigh-validity-for-unresolved-entries.patch