1. 20 5月, 2013 4 次提交
  2. 17 5月, 2013 1 次提交
    • E
      bonding: allow TSO being set on bonding master · b0ce3508
      Eric Dumazet 提交于
      In some situations, we need to disable TSO on bonding slaves.
      
      bonding device automatically unset TSO in bond_fix_features(), and
      performance is not good because :
      
      1) We consume more cpu cycles.
      
      2) GSO segmentation has some bugs leading to out of order TCP packets
      if this segmentation is done before virtual device. This particular
      problem will be addressed in a separate patch.
      
      This patch allows TSO being set/unset on the bonding master,
      so that GSO segmentation is done after bonding layer.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Michał Mirosław <mirqus@gmail.com>
      Cc: Jay Vosburgh <fubar@us.ibm.com>
      Cc: Andy Gospodarek <andy@greyhouse.net>
      Cc: Maciej Żenczykowski <maze@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Yuchung Cheng <ycheng@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b0ce3508
  3. 25 4月, 2013 1 次提交
  4. 20 4月, 2013 10 次提交
  5. 19 4月, 2013 1 次提交
  6. 12 4月, 2013 2 次提交
  7. 10 4月, 2013 1 次提交
    • A
      procfs: new helper - PDE_DATA(inode) · d9dda78b
      Al Viro 提交于
      The only part of proc_dir_entry the code outside of fs/proc
      really cares about is PDE(inode)->data.  Provide a helper
      for that; static inline for now, eventually will be moved
      to fs/proc, along with the knowledge of struct proc_dir_entry
      layout.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      d9dda78b
  8. 09 4月, 2013 2 次提交
  9. 05 4月, 2013 1 次提交
    • V
      bonding: remove sysfs before removing devices · 4de79c73
      Veaceslav Falico 提交于
      We have a race condition if we try to rmmod bonding and simultaneously add
      a bond master through sysfs. In bonding_exit() we first remove the devices
      (through rtnl_link_unregister() ) and only after that we remove the sysfs.
      If we manage to add a device through sysfs after that the devices were
      removed - we'll end up with that device/sysfs structure and with the module
      unloaded.
      
      Fix this by first removing the sysfs and only after that calling
      rtnl_link_unregister().
      Signed-off-by: NVeaceslav Falico <vfalico@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4de79c73
  10. 03 4月, 2013 1 次提交
  11. 30 3月, 2013 1 次提交
  12. 27 3月, 2013 2 次提交
  13. 13 3月, 2013 1 次提交
    • V
      bonding: don't call update_speed_duplex() under spinlocks · 876254ae
      Veaceslav Falico 提交于
      bond_update_speed_duplex() might sleep while calling underlying slave's
      routines. Move it out of atomic context in bond_enslave() and remove it
      from bond_miimon_commit() - it was introduced by commit 546add79, however
      when the slave interfaces go up/change state it's their responsibility to
      fire NETDEV_UP/NETDEV_CHANGE events so that bonding can properly update
      their speed.
      
      I've tested it on all combinations of ifup/ifdown, autoneg/speed/duplex
      changes, remote-controlled and local, on (not) MII-based cards. All changes
      are visible.
      Signed-off-by: NVeaceslav Falico <vfalico@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      876254ae
  14. 08 3月, 2013 1 次提交
  15. 27 2月, 2013 1 次提交
  16. 19 2月, 2013 4 次提交
  17. 12 2月, 2013 1 次提交
    • N
      netpoll: Fix __netpoll_rcu_free so that it can hold the rtnl lock · 2cde6acd
      Neil Horman 提交于
      __netpoll_rcu_free is used to free netpoll structures when the rtnl_lock is
      already held.  The mechanism is used to asynchronously call __netpoll_cleanup
      outside of the holding of the rtnl_lock, so as to avoid deadlock.
      Unfortunately, __netpoll_cleanup modifies pointers (dev->np), which means the
      rtnl_lock must be held while calling it.  Further, it cannot be held, because
      rcu callbacks may be issued in softirq contexts, which cannot sleep.
      
      Fix this by converting the rcu callback to a work queue that is guaranteed to
      get scheduled in process context, so that we can hold the rtnl properly while
      calling __netpoll_cleanup
      
      Tested successfully by myself.
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      CC: "David S. Miller" <davem@davemloft.net>
      CC: Cong Wang <amwang@redhat.com>
      CC: Eric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2cde6acd
  18. 05 2月, 2013 1 次提交
  19. 31 1月, 2013 1 次提交
  20. 30 1月, 2013 1 次提交
    • M
      bonding: unset primary slave via sysfs · eb492f74
      Milos Vyletel 提交于
      When bonding module is loaded with primary parameter and one decides to unset
      primary slave using sysfs these settings are not preserved during bond device
      restart. Primary slave is only unset once and it's not remembered in
      bond->params structure. Below is example of recreation.
      
       grep OPTS /etc/sysconfig/network-scripts/ifcfg-bond0
      BONDING_OPTS="mode=active-backup miimon=100 primary=eth01"
       grep "Primary Slave" /proc/net/bonding/bond0
      Primary Slave: eth01 (primary_reselect always)
      
       echo "" > /sys/class/net/bond0/bonding/primary
       grep "Primary Slave" /proc/net/bonding/bond0
      Primary Slave: None
      
       sed -i -e 's/primary=eth01//' /etc/sysconfig/network-scripts/ifcfg-bond0
       grep OPTS /etc/sysconfig/network-scripts/ifcfg-bond
      BONDING_OPTS="mode=active-backup miimon=100 "
       ifdown bond0 && ifup bond0
      
      without patch:
       grep "Primary Slave" /proc/net/bonding/bond0
      Primary Slave: eth01 (primary_reselect always)
      
      with patch:
       grep "Primary Slave" /proc/net/bonding/bond0
      Primary Slave: None
      Reviewed-by: NJiri Pirko <jiri@resnulli.us>
      Signed-off-by: NMilos Vyletel <milos.vyletel@sde.cz>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eb492f74
  21. 07 1月, 2013 1 次提交
  22. 05 1月, 2013 1 次提交