| To: | Gleb Natapov <gleb@xxxxxxxxxxx> |
|---|---|
| Subject: | Re: [Vlan-devel] Some more questions on multicast & VLAN. |
| From: | Ben Greear <greearb@xxxxxxxx> |
| Date: | Tue, 10 Oct 2000 08:58:39 -0700 |
| Cc: | Ben Greear <greearb@xxxxxxxxxxxxxxx>, vlan-devel@xxxxxxxxxxxxxxxxxxxxx, VLAN Mailing List <vlan@xxxxxxxxxxxxxxxx>, "netdev@xxxxxxxxxxx" <netdev@xxxxxxxxxxx> |
| Organization: | AG Communication Systems |
| Posted-date: | Tue, 10 Oct 2000 08:59:23 -0700 (MST) |
| References: | <39E0E2C0.559EE3F3@xxxxxxxxxxxxxxx> <20001010104223.A8550@xxxxxxxxxxx> <39E33C3D.873C5D3D@xxxxxxxxxxxxxxx> <20001010174806.A967@xxxxxxxxxxx> |
| Reply-to: | greearb@xxxxxxxx |
| Sender: | owner-netdev@xxxxxxxxxxx |
Gleb Natapov wrote:
> On Tue, Oct 10, 2000 at 08:56:45AM -0700, Ben Greear wrote:
> >
> [...]
> > You mentioned that there was a race condition when using SMP, could you
> > explain
> > that one a bit more? We could probably put a lock around it if we need to,
> > in
> > order to make it safe.
>
> Not a race condition, but deadlock. Look at linux/net/core/dev_mcast.c. VLAN
> set_multicast_list()
> function is called from dev_mc_upload() while holding dev_mc_lock. When you
> try to add or delete
> MC address to/from underlying device from your set_multicast_list() you call
> dev_mc_{delete,add}
> and they also try to grab the same lock, oops deadlock ;)
Make the dev_mc_lock acquisition conditional:
if (global_vlan_dev_mc_lock_already_grabbed == 1) {
/* don't get it again, VLAN code already obtained it... */
}
else {
/* go get the lock.. */
....
}
Sure, it isn't beautiful, but it might work untill the subsystem is re-worked a
bit...
Ben
>
>
> --
> Gleb.
--
Ben Greear greearb@xxxxxxxx Pager: 202-2717
(623) 581 4980 "More weight!" -- _The Crucible._
http://hydrogen:8080/home/greearb/public_html/index.html
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [Vlan-devel] Some more questions on multicast & VLAN., Gleb Natapov |
|---|---|
| Next by Date: | Re: [Vlan-devel] Some more questions on multicast & VLAN., Gleb Natapov |
| Previous by Thread: | Re: [Vlan-devel] Some more questions on multicast & VLAN., Gleb Natapov |
| Next by Thread: | Re: [Vlan-devel] Some more questions on multicast & VLAN., Gleb Natapov |
| Indexes: | [Date] [Thread] [Top] [All Lists] |