Hello!
> > > Can somebody explain me please why 'dev_mc_lock' is global for all
> > > network devices and not one per 'net_device' structure?
> >
> > Do you modify mc lists each other microsecond? 8)8)
>
> No, but I want to call 'dev_mc_add()', 'dev_mc_delete()' from
> 'dev->set_multicast_list()' (where 'dev' is virtual device) and this
> cause deadlock on smp because of global 'dev_mc_lock'.
Exactly. It is main reason, why it is bug.
> > In any case, this lock is bug as whole. mc lists should be modified
> > only under dev->xmit_lock.
>
> So, is it safe to remove it? Do you want me to send patch?
Not to remove, but to replace with dev->xmit_lock accurately.
The reason is that there is second problem: some drivers defer
loading and want to use this list later from timer.
Yes, I want patch. Also, could you look into drivers/net/bonding.c
and kill that shit, which is made in its set_multicast_list()?
> PS: you accidentally CCed the answer to the old list (vger.rutgers.edu)
I think I will continue to make this at least for year. 8)
Alexey
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Aug 23 2000 - 21:00:07 EST