> > -          if (ipoib_cm_get(neigh)) {
 > > -                  if (ipoib_cm_up(neigh)) {
 > > +          if (ipoib_cm_get(neigh) &&  ipoib_cm_up(neigh) &&
 > > +                  test_bit(IPOIB_FLAG_OPER_UP, &neigh->cm->flags)) {
 > 
 > This adds overhead on xmit datapath (and it's atomics!),
 > which doesn't make me happy at all.

I don't see anything atomic here.

But

        if (ipoib_cm_get(neigh)) {
                if (ipoib_cm_up(neigh)) {
                ....
                }
        } else...

is different from

        if (ipoib_cm_get(neigh) && if (ipoib_cm_up(neigh)) {
        ....
        } else..

so there is a change in semantics here...
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to