Messages in this thread | | | From | kuznet@ms2 ... | Subject | Re: dev_mc_lock question. | Date | Tue, 22 Aug 2000 20:22:51 +0400 (MSK DST) |
| |
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/
| |