2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-11 07:04:04 +08:00
linux-next/drivers/net/bonding
dingtianhong b0929915e0 bonding: Fix RTNL: assertion failed at net/core/rtnetlink.c for ab arp monitor
Veaceslav has reported and fix this problem by commit f2ebd477f1
(bonding: restructure locking of bond_ab_arp_probe()). According Jay's
opinion, the current solution is not very well, because the notification
is to indicate that the interface has actually changed state in a meaningful
way, but these calls in the ab ARP monitor are internal settings of the flags
to allow the ARP monitor to search for a slave to become active when there are
no active slaves. The flag setting to active or backup is to permit the ARP
monitor's response logic to do the right thing when deciding if the test
slave (current_arp_slave) is up or not.

So the best way to fix the problem is that we should not send a notification
when the slave is in testing state, and check the state at the end of the
monitor, if the slave's state recover, avoid to send pointless notification
twice. And RTNL is really a big lock, hold it regardless the slave's state
changed or not when the current_active_slave is null will loss performance
(every 100ms), so we should hold it only when the slave's state changed and
need to notify.

I revert the old commit and add new modifications.

Cc: Jay Vosburgh <fubar@us.ibm.com>
Cc: Veaceslav Falico <vfalico@redhat.com>
Cc: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-02-26 16:02:56 -05:00
..
bond_3ad.c bonding: Fix RTNL: assertion failed at net/core/rtnetlink.c for ab arp monitor 2014-02-26 16:02:56 -05:00
bond_3ad.h bonding: 802.3ad: make aggregator_identifier bond-private 2014-02-17 14:54:06 -05:00
bond_alb.c bonding: slight optimization for bond_alb_xmit() 2014-01-01 22:58:15 -05:00
bond_alb.h drivers/net/*: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
bond_debugfs.c bonding: delete migrated IP addresses from the rlb hash table 2012-11-30 12:07:27 -05:00
bond_main.c bonding: Fix RTNL: assertion failed at net/core/rtnetlink.c for ab arp monitor 2014-02-26 16:02:56 -05:00
bond_netlink.c bonding: convert netlink to use slave data info api 2014-01-22 21:57:17 -08:00
bond_options.c net,bonding: fix bond_options.c direct rwlock.h include 2014-02-14 16:15:37 -05:00
bond_options.h bonding: convert slaves to use the new option API 2014-01-22 15:38:44 -08:00
bond_procfs.c bonding: convert primary_reselect to use the new option API 2014-01-22 15:38:43 -08:00
bond_sysfs_slave.c bonding: change name of sysfs dir for bonding slaves 2014-01-22 21:57:05 -08:00
bond_sysfs.c bonding: convert slaves to use the new option API 2014-01-22 15:38:44 -08:00
bonding.h bonding: Fix RTNL: assertion failed at net/core/rtnetlink.c for ab arp monitor 2014-02-26 16:02:56 -05:00
Makefile bonding: add sysfs /slave dir for bond slave devices. 2014-01-17 18:51:58 -08:00