[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140217.163602.224148895821804736.davem@davemloft.net>
Date: Mon, 17 Feb 2014 16:36:02 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: dingtianhong@...wei.com
Cc: fubar@...ibm.com, vfalico@...hat.com, andy@...yhouse.net,
cwang@...pensource.com, jiri@...nulli.us, thomas@...nzmann.de,
eric.dumazet@...il.com, sfeldma@...ulusnetworks.com,
netdev@...r.kernel.org
Subject: Re: [PATCH net-next 0/3] bonding: Fix RTNL: assertion failed at
net/core/rtnetlink.c
From: Ding Tianhong <dingtianhong@...wei.com>
Date: Mon, 17 Feb 2014 16:35:48 +0800
> The problem was introduced by the commit 1d3ee88ae0d
> (bonding: add netlink attributes to slave link dev).
> The bond_set_active_slave() and bond_set_backup_slave()
> will use rtmsg_ifinfo to send slave's states, so these
> two functions should be called in RTNL.
>
> In 802.3ad mode, acquiring RTNL for the __enable_port and
> __disable_port cases is difficult, as those calls generally
> already hold the state machine lock, and cannot unconditionally
> call rtnl_lock because either they already hold RTNL (for calls
> via bond_3ad_unbind_slave) or due to the potential for deadlock
> with bond_3ad_adapter_speed_changed, bond_3ad_adapter_duplex_changed,
> bond_3ad_link_change, or bond_3ad_update_lacp_rate. All four of
> those are called with RTNL held, and acquire the state machine lock
> second. The calling contexts for __enable_port and __disable_port
> already hold the state machine lock, and may or may not need RTNL.
>
> According to the Jay's opinion, I don't think it is a problem that
> the slave don't send notify message synchronously when the status
> changed, normally the state machine is running every 100 ms, send
> the notify message at the end of the state machine if the slave's
> state changed should be better.
I would like to ask you to combine these three changes into one
patch.
Thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists