[ofa-general] Re: [PATCHv3] IB/ipoib: Fix ipoib handling for pkey reordering

Moni Levy monil at voltaire.com
Thu Mar 1 08:34:29 PST 2007


On 3/1/07, Michael S. Tsirkin <mst at mellanox.co.il> wrote:
> > SM reconfiguration or failover possibly causes a shuffling of the values in the port pkey table. The current implementation only queries for the index of the pkey once, when it creates the device QP and after that moves it into working state, and hence
> > does not address this scenario. Fix this by using the PKEY_CHANGE event as a trigger to reconfigure the device QP.
>
> Please limit line length to 80 chars or so.

Ok, sorry for that, will pay attention in the future.

>
> Also - does the patch attempt to fix some more issues?

No

>
> > Index: b/drivers/infiniband/ulp/ipoib/ipoib_ib.c
> > ===================================================================
> > --- a/drivers/infiniband/ulp/ipoib/ipoib_ib.c 2007-03-01 14:11:43.713304355 +0200
> > +++ b/drivers/infiniband/ulp/ipoib/ipoib_ib.c 2007-03-01 16:14:17.003881103 +0200
> > @@ -415,21 +415,22 @@ int ipoib_ib_dev_open(struct net_device
> >
> >       ret = ipoib_init_qp(dev);
> >       if (ret) {
> > -             ipoib_warn(priv, "ipoib_init_qp returned %d\n", ret);
> > +             if (ret != -ENOENT)
> > +                     ipoib_warn(priv, "ipoib_init_qp returned %d\n", ret);
> >               return -1;
> >       }
>
> What's the reason for this change?

-ENOENT means the pkey was not found which is not anymore something
problematic and we have a clear message about that now in other place.

>
> > Index: b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
> > ===================================================================
> > --- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c  2007-03-01 14:11:43.743299033 +0200
> > +++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c  2007-03-01 16:21:43.128181147 +0200
> > @@ -232,9 +232,10 @@ static int ipoib_mcast_join_finish(struc
> >               ret = ipoib_mcast_attach(dev, be16_to_cpu(mcast->mcmember.mlid),
> >                                        &mcast->mcmember.mgid);
> >               if (ret < 0) {
> > -                     ipoib_warn(priv, "couldn't attach QP to multicast group "
> > -                                IPOIB_GID_FMT "\n",
> > -                                IPOIB_GID_ARG(mcast->mcmember.mgid));
> > +                     if (ret != -ENXIO) /* No pkey found */
> > +                             ipoib_warn(priv, "couldn't attach QP to multicast group "
> > +                                        IPOIB_GID_FMT "\n",
> > +                                        IPOIB_GID_ARG(mcast->mcmember.mgid));
> >
> >                       clear_bit(IPOIB_MCAST_FLAG_ATTACHED, &mcast->flags);
> >                       return ret;
>
> And this?

The same as above. I tried to limit the prints to the "straight to the
point" minimum.

-- Moni

>
> Thanks,
> MST
> --
> MST
>
> _______________________________________________
> general mailing list
> general at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
>
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
>




More information about the general mailing list