Messages in this thread | | | Date | Mon, 19 Mar 2007 17:13:36 +0200 | From | "Michael S. Tsirkin" <> | Subject | Re: dst_ifdown breaks infiniband? |
| |
> Quoting Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>: > Subject: Re: dst_ifdown breaks infiniband? > > Hello! > > > infiniband sets parm->neigh_destructor, and I search for a way to prevent > > this destructor from being called after the module has been unloaded. > > Ideas? > > It must be called in any case to update/release internal ipoib structures.
I don't think there's a problem. All we do in destructor is release the ipoib_neigh resource. And on device unregister we release all resources anyway.
> The idea is to move call of parm->neigh_destructor from neighbour destructor > to the moment when it is unhashed, right after n->dead is set. > > infiniband is the only user (atm clip uses it too, but that use is obviously > dummy), so that nobody will be harmed.
This might work. Could you post a patch to better show what you mean to do?
> But ipoib will have to check for validity of skb->dst->neighbour before > attempt to reinitialize private data on dead (n->dead != 0) neighbour.
We set a flag before unregister_netdev and test it in start_xmit so that's covered I think.
-- MST - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |