From: Andrew Lunn <andrew@lunn.ch>
To: Guenter Roeck <linux@roeck-us.net>
Cc: "Vivien Didelot" <vivien.didelot@savoirfairelinux.com>,
netdev <netdev@vger.kernel.org>,
"Florian Fainelli" <f.fainelli@gmail.com>,
"Chris Healy" <cphealy@gmail.com>,
"Jérome Oufella" <jerome.oufella@savoirfairelinux.com>
Subject: Re: DSA and underlying 802.1Q encapsulation
Date: Thu, 28 May 2015 03:46:22 +0200 [thread overview]
Message-ID: <20150528014622.GD9751@lunn.ch> (raw)
In-Reply-To: <55664A8F.6040006@roeck-us.net>
On Wed, May 27, 2015 at 03:51:59PM -0700, Guenter Roeck wrote:
> On 05/27/2015 02:05 PM, Andrew Lunn wrote:
> >>Do you have lock debugging enabled in your code ? I am getting a recursive
> >>lock warning due to a recursive call to dev_mc_sync(). I think we may have
> >>to implement lock nesting for dsa, similar to how it id done for vlan
> >>support, but I have not been able to figure out how exactly it works yet.
> >
> >I might be able to help, since i solve two similar problems already in
> >DSA, one for MDIO bus, and a second one for transmit buffers.
> >
> > Andrew
> >
> What I did is to create a vlan interface on one of the dsa slave ports
> and enabling it.
>
> This results in a call to dev_mc_sync() on the dsa interface, which is passed
> on to the real interface. dev_mc_sync() calls netif_addr_lock_nested(to),
> which results in the recursive lock message.
>
> ifconfig/2291 is trying to acquire lock:
> (_xmit_ETHER/1){+.....}, at: [<ffffffff8175b757>] dev_mc_sync+0x57/0xa0
>
> but task is already holding lock:
> (_xmit_ETHER/1){+.....}, at: [<ffffffff8175b757>] dev_mc_sync+0x57/0xa0
>
> other info that might help us debug this:
> Possible unsafe locking scenario:
>
> CPU0
> ----
> lock(_xmit_ETHER/1);
> lock(_xmit_ETHER/1);
>
> Pretty much inevitable as far as I can see.
It looks like DSA needs to implement ndo_get_lock_subclass().
We can probably copy the code from macvlan.c.
Andrew
next prev parent reply other threads:[~2015-05-28 1:51 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-26 22:29 DSA and underlying 802.1Q encapsulation Vivien Didelot
2015-05-26 22:51 ` Guenter Roeck
2015-05-27 20:48 ` Vivien Didelot
2015-05-27 21:02 ` Guenter Roeck
2015-05-27 21:05 ` Andrew Lunn
2015-05-27 22:51 ` Guenter Roeck
2015-05-28 1:46 ` Andrew Lunn [this message]
2015-05-28 5:01 ` Guenter Roeck
2015-05-28 13:44 ` Vivien Didelot
2015-05-28 14:19 ` Guenter Roeck
2015-05-28 21:37 ` [RFC 0/3] DSA and Marvell 88E6352 802.1q support Vivien Didelot
2015-05-28 21:37 ` [RFC 1/3] net: dsa: add basic support for VLAN ndo Vivien Didelot
2015-05-29 4:46 ` Scott Feldman
2015-05-29 15:24 ` Or Gerlitz
2015-05-29 15:38 ` Vivien Didelot
2015-05-29 15:51 ` Or Gerlitz
2015-05-29 22:15 ` Guenter Roeck
2015-05-29 22:57 ` Vivien Didelot
2015-05-31 16:14 ` Scott Feldman
2015-05-28 21:37 ` [RFC 2/3] net: dsa: mv88e6xxx: add support for VTU operations Vivien Didelot
2015-05-29 22:38 ` Guenter Roeck
2015-05-28 21:37 ` [RFC 3/3] net: dsa: mv88e6352: add support for VLAN Vivien Didelot
2015-05-29 5:02 ` [RFC 0/3] DSA and Marvell 88E6352 802.1q support Scott Feldman
2015-05-29 15:40 ` Vivien Didelot
2015-05-29 22:42 ` Guenter Roeck
2015-05-31 16:48 ` Scott Feldman
2015-05-31 17:06 ` Guenter Roeck
2015-05-31 21:21 ` Scott Feldman
2015-06-02 0:14 ` Florian Fainelli
2015-06-02 0:18 ` Vivien Didelot
2015-06-02 6:18 ` Scott Feldman
2015-06-02 23:23 ` Vivien Didelot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150528014622.GD9751@lunn.ch \
--to=andrew@lunn.ch \
--cc=cphealy@gmail.com \
--cc=f.fainelli@gmail.com \
--cc=jerome.oufella@savoirfairelinux.com \
--cc=linux@roeck-us.net \
--cc=netdev@vger.kernel.org \
--cc=vivien.didelot@savoirfairelinux.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.