public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH FIX For-3.19 v5 00/10] Fix ipoib regressions
@ 2015-01-22 14:31 Doug Ledford
       [not found] ` <cover.1421936879.git.dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 26+ messages in thread
From: Doug Ledford @ 2015-01-22 14:31 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA, roland-DgEjT+Ai2ygdnm+yROfE0A
  Cc: Amir Vadai, Eyal Perry, Or Gerlitz, Erez Shitrit, Doug Ledford

My 8 patch set taken into 3.19 caused some regressions.  This patch
set resolves those issues.

These patches are to resolve issues created by my previous patch set.
While that set worked fine in my testing, there were problems with
multicast joins after the initial set of joins had completed.  Since my
testing relied upon the normal set of multicast joins that happen
when the interface is first brought up, I missed those problems.

Symptoms vary from failure to send packets due to a failed join, to
loss of connectivity after a subnet manager restart, to failure
to properly release multicast groups on shutdown resulting in hangs
when the mlx4 driver attempts to unload itself via its reboot
notifier handler.

This set of patches has passed a number of tests above and beyond my
original tests.  As suggested by Or Gerlitz I added IPv6 and IPv4
multicast tests.  I also added both subnet manager restarts and
manual shutdown/restart of individual ports at the switch in order to
ensure that the ENETRESET path was properly tested.  I included
testing, then a subnet manager restart, then a quiescent period for
caches to expire, then restarting testing to make sure that arp and
neighbor discovery work after the subnet manager restart.

All in all, I have not been able to trip the multicast joins up any
longer.

Additionally, the original impetus for my first 8 patch set was that
it was simply too easy to break the IPoIB subsystem with this simple
loop:

while true; do
    ifconfig ib0 up
    ifconfig ib0 down
done

Just to be safe, I made sure this problem did not resurface.

v5: fix an oversight in mcast_restart_task that leaked mcast joins
    fix a failure to flush the ipoib_workqueue on deregister that
    meant we could end up running our code after our device had been
    removed, resulting in an oops
    remove a debug message that could be trigger so fast that the
    kernel printk mechanism would starve out the mcast join task thread
    resulting in what looked like a mcast failure that was really just
    delayed action


Doug Ledford (10):
  IB/ipoib: fix IPOIB_MCAST_RUN flag usage
  IB/ipoib: Add a helper to restart the multicast task
  IB/ipoib: make delayed tasks not hold up everything
  IB/ipoib: Handle -ENETRESET properly in our callback
  IB/ipoib: don't restart our thread on ENETRESET
  IB/ipoib: remove unneeded locks
  IB/ipoib: fix race between mcast_dev_flush and mcast_join
  IB/ipoib: fix ipoib_mcast_restart_task
  IB/ipoib: flush the ipoib_workqueue on unregister
  IB/ipoib: cleanup a couple debug messages

 drivers/infiniband/ulp/ipoib/ipoib.h           |   1 +
 drivers/infiniband/ulp/ipoib/ipoib_main.c      |   2 +
 drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 234 ++++++++++++++-----------
 3 files changed, 131 insertions(+), 106 deletions(-)

-- 
2.1.0

--
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

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2015-01-26 19:34 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-22 14:31 [PATCH FIX For-3.19 v5 00/10] Fix ipoib regressions Doug Ledford
     [not found] ` <cover.1421936879.git.dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-01-22 14:31   ` [PATCH FIX For-3.19 v5 01/10] IB/ipoib: fix IPOIB_MCAST_RUN flag usage Doug Ledford
2015-01-22 14:31   ` [PATCH FIX For-3.19 v5 02/10] IB/ipoib: Add a helper to restart the multicast task Doug Ledford
2015-01-22 14:31   ` [PATCH FIX For-3.19 v5 03/10] IB/ipoib: make delayed tasks not hold up everything Doug Ledford
2015-01-22 14:31   ` [PATCH FIX For-3.19 v5 04/10] IB/ipoib: Handle -ENETRESET properly in our callback Doug Ledford
2015-01-22 14:31   ` [PATCH FIX For-3.19 v5 05/10] IB/ipoib: don't restart our thread on ENETRESET Doug Ledford
2015-01-22 14:31   ` [PATCH FIX For-3.19 v5 06/10] IB/ipoib: remove unneeded locks Doug Ledford
2015-01-22 14:31   ` [PATCH FIX For-3.19 v5 07/10] IB/ipoib: fix race between mcast_dev_flush and mcast_join Doug Ledford
2015-01-22 14:31   ` [PATCH FIX For-3.19 v5 08/10] IB/ipoib: fix ipoib_mcast_restart_task Doug Ledford
2015-01-22 14:31   ` [PATCH FIX For-3.19 v5 09/10] IB/ipoib: flush the ipoib_workqueue on unregister Doug Ledford
2015-01-22 14:31   ` [PATCH FIX For-3.19 v5 10/10] IB/ipoib: cleanup a couple debug messages Doug Ledford
2015-01-23  7:01   ` [PATCH FIX For-3.19 v5 00/10] Fix ipoib regressions Or Gerlitz
     [not found]     ` <CAJ3xEMi7mowr_qFMUXtM5m8p974qF39nPf-Qh-NOYK_jUzswSg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-23  7:45       ` Doug Ledford
     [not found]         ` <1421999125.3352.265.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-01-24  4:58           ` Roland Dreier
2015-01-23 12:54       ` Estrin, Alex
2015-01-23 16:52   ` Doug Ledford
     [not found]     ` <1422031938.3352.286.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-01-25 12:54       ` Erez Shitrit
     [not found]         ` <54C4E793.2010103-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-01-25 22:21           ` Doug Ledford
     [not found]             ` <1422224477.3352.373.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-01-26 10:27               ` Erez Shitrit
     [not found]                 ` <54C616A8.3050804-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-01-26 12:51                   ` Doug Ledford
     [not found]                     ` <1422276712.2854.5.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-01-26 13:24                       ` Erez Shitrit
     [not found]                         ` <54C6400E.30607-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-01-26 13:37                           ` Doug Ledford
     [not found]                             ` <1422279465.2854.15.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-01-26 14:07                               ` Erez Shitrit
     [not found]                                 ` <54C64A2A.5070306-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-01-26 18:45                                   ` Doug Ledford
2015-01-26 19:30                           ` Doug Ledford
2015-01-26 19:34   ` [PATCH FIX For-3.19 11/10] IB/ipoib: don't queue a work struct up twice Doug Ledford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox