[openib-general] ipoib mcast questions...

Arthur Jones arthur.jones at qlogic.com
Fri Oct 6 08:17:21 PDT 2006


hi roland, ...

On Thu, Oct 05, 2006 at 09:18:36PM -0700, Roland Dreier wrote:
>  > 1) the set_multicast_list net device callback
>  > seems to just kick off another thread to do
>  > the work of registering the multicast group.
>  > the mc_list net_device field is only valid
>  > under the netif_tx_lock, but this lock is not
>  > grabbed by the restart_task.  what happens
>  > if the mc_list is modified while in the
>  > restart_task?
> 
> Just looking quickly, I see that ipoib_mcast_restart_task() does
> netif_tx_lock() (right near the top).  Isn't this sufficient?

doh!  i just missed it -- i predicted it would
be missing, so i made it missing...

>  > 2) there seem to be 2 threads, the restart_task
>  > which creates queries and the join_task which sends
>  > off the mad requests.  why?  is there some performance
>  > advantage?  it would seem easier to do the registrations
>  > serially in the restart task...
> 
> I guess it's really that way mainly for historical reasons.  I'd be
> glad to see patches that simplify things (of course making sure that
> everything still works ;)

i'm imagining that all the "proprietary" eth
interfaces + ipoib need to do about the same
thing when it comes to registering with mcast
groups.  would you (all) be averse to pulling some
of the mcast group registration code out into
the core ib driver for all to use?

arthur




More information about the general mailing list