Re: dev_mc_lock question.

From: kuznet@ms2.inr.ac.ru
Date: Tue Aug 22 2000 - 11:22:51 EST


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