[ofa-general] Re: [openib-general] [RFC] [PATCH v2] IB/ipoib: Add bonding support to IPoIB
Michael S. Tsirkin
mst at mellanox.co.il
Tue Mar 6 10:43:00 PST 2007
> Quoting Moni Shoua <monisonlists at gmail.com>:
> Subject: Re: [openib-general] [RFC] [PATCH v2] IB/ipoib: Add bonding support to IPoIB
>
> Michael S. Tsirkin wrote:
> >> Quoting Moni Shoua <monisonlists at gmail.com>:
> >> Subject: Re: [openib-general] [RFC] [PATCH v2] IB/ipoib: Add bonding support to IPoIB
> >>
> >> Michael S. Tsirkin wrote:
> >>>> Quoting Moni Shoua <monisonlists at gmail.com>:
> >>>> Subject: Re: [openib-general] [RFC] [PATCH v2] IB/ipoib: Add bonding support to IPoIB
> >>>>
> >>>> This version of the patch tracks the allocs and releases of ipoib_neigh and
> >>>> keeps a list of them. Before IPoIB net device unregisters the list is passed
> >>>> to destroy ipoib_neighs that ride on on a bond neighbour.
> >>>>
> >>>> This is a replacement to the method of scanning the arp and ndisc
> >>>> tables.
> >>> Why does the list need to be global?
> >>> We already have a per-device list of paths, and each of these in turn
> >>> has a list of neighbours. Can't this be used?
> >>>
> >> OK, It's a good point but coming to think of it now I have a question
> >>
> >> When a device unregisters ipoib_stop() is called and all ipoib_neighs are destroyed.
> >> Isn't it enough to ensure that ipoib_neigh_destructor will not try to
> >> "touch" one of the ib devs? or in other words: Isn't it that the work to
> >> clean ipoib_neighs is unnecessary?
> >>
> Michael, Do you agree that destroying the ipoib_neighs
> through (a call trace that starts with) ipoib_stop() is enough for safety
> and that there is no need to do that just before calling to unregister_netdev() ?
Well, you have to make sure no one is caching either the device pointer
or the destructor/setup pointers.
--
MST
More information about the general
mailing list