| To: | Ben Greear <greearb@xxxxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [Vlan-devel] Some more questions on multicast & VLAN. |
| From: | Gleb Natapov <gleb@xxxxxxxxxxx> |
| Date: | Tue, 10 Oct 2000 17:48:06 +0200 |
| Cc: | vlan-devel@xxxxxxxxxxxxxxxxxxxxx, VLAN Mailing List <vlan@xxxxxxxxxxxxxxxx>, "netdev@xxxxxxxxxxx" <netdev@xxxxxxxxxxx> |
| In-reply-to: | <39E33C3D.873C5D3D@xxxxxxxxxxxxxxx>; from greearb@xxxxxxxxxxxxxxx on Tue, Oct 10, 2000 at 08:56:45AM -0700 |
| References: | <39E0E2C0.559EE3F3@xxxxxxxxxxxxxxx> <20001010104223.A8550@xxxxxxxxxxx> <39E33C3D.873C5D3D@xxxxxxxxxxxxxxx> |
| Sender: | owner-netdev@xxxxxxxxxxx |
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 ;)
--
Gleb.
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: BUG in tcp.c ?, Rik van Riel |
|---|---|
| Next by Date: | Re: [Vlan-devel] Some more questions on multicast & VLAN., Ben Greear |
| Previous by Thread: | Re: [Vlan-devel] Some more questions on multicast & VLAN., Ben Greear |
| Next by Thread: | Re: [Vlan-devel] Some more questions on multicast & VLAN., Ben Greear |
| Indexes: | [Date] [Thread] [Top] [All Lists] |