[lkml]   [2000]   [Aug]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: dev_mc_lock question.

> > > 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 (

I think I will continue to make this at least for year. 8)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:37    [W:0.045 / U:1.564 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site