On Mon, Feb 08, 2016 at 04:43:29PM +0000, Estrin, Alex wrote: > Hi Erez, > > > Can you please elaborate what will avoid the other task that > > invalidate the priv->broadcast (ipoib_mcast_dev_flush) to do it right > > after that check? > > I was considering check for IPOIB_FLAG_OPER_UP in mcast task loop > would be sufficient as its state is serialized by priv->lock: > > > list_for_each_entry(mcast, &priv->multicast_list, list) { > > > + if (!test_bit(IPOIB_FLAG_OPER_UP, &priv->flags)) { > > And I can see your point now. We unlock before calling mcast_join(). > Apparently check for OPER_UP flag should be added along priv->broadcast check > as it will ensure indication if mcast worker is competing with event handler worker. Will you plan to respin it? > > Thanks, > Alex. > > N?????r??y????b?X??ǧv?^?){.n?+????{??ٚ?{ay?ʇڙ?,j??f???h???z??w??????j:+v???w?j?m????????zZ+?????ݢj"??! -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html