1. 06 Oct, 2010 7 commits
    • Eric Dumazet's avatar
      fib: RCU conversion of fib_lookup() · ebc0ffae
      Eric Dumazet authored
      fib_lookup() converted to be called in RCU protected context, no
      reference taken and released on a contended cache line (fib_clntref)
      
      fib_table_lookup() and fib_semantic_match() get an additional parameter.
      
      struct fib_info gets an rcu_head field, and is freed after an rcu grace
      period.
      
      Stress test :
      (Sending 160.000.000 UDP frames on same neighbour,
      IP route cache disabled, dual E5540 @2.53GHz,
      32bit kernel, FIB_HASH) (about same results for FIB_TRIE)
      
      Before patch :
      
      real	1m31.199s
      user	0m13.761s
      sys	23m24.780s
      
      After patch:
      
      real	1m5.375s
      user	0m14.997s
      sys	15m50.115s
      
      Before patch Profile :
      
      13044.00 15.4% __ip_route_output_key vmlinux
       8438.00 10.0% dst_destroy           vmlinux
       5983.00  7.1% fib_semantic_match    vmlinux
       5410.00  6.4% fib_rules_lookup      vmlinux
       4803.00  5.7% neigh_lookup          vmlinux
       4420.00  5.2% _raw_spin_lock        vmlinux
       3883.00  4.6% rt_set_nexthop        vmlinux
       3261.00  3.9% _raw_read_lock        vmlinux
       2794.00  3.3% fib_table_lookup      vmlinux
       2374.00  2.8% neigh_resolve_output  vmlinux
       2153.00  2.5% dst_alloc             vmlinux
       1502.00  1.8% _raw_read_lock_bh     vmlinux
       1484.00  1.8% kmem_cache_alloc      vmlinux
       1407.00  1.7% eth_header            vmlinux
       1406.00  1.7% ipv4_dst_destroy      vmlinux
       1298.00  1.5% __copy_from_user_ll   vmlinux
       1174.00  1.4% dev_queue_xmit        vmlinux
       1000.00  1.2% ip_output             vmlinux
      
      After patch Profile :
      
      13712.00 15.8% dst_destroy             vmlinux
       8548.00  9.9% __ip_route_output_key   vmlinux
       7017.00  8.1% neigh_lookup            vmlinux
       4554.00  5.3% fib_semantic_match      vmlinux
       4067.00  4.7% _raw_read_lock          vmlinux
       3491.00  4.0% dst_alloc               vmlinux
       3186.00  3.7% neigh_resolve_output    vmlinux
       3103.00  3.6% fib_table_lookup        vmlinux
       2098.00  2.4% _raw_read_lock_bh       vmlinux
       2081.00  2.4% kmem_cache_alloc        vmlinux
       2013.00  2.3% _raw_spin_lock          vmlinux
       1763.00  2.0% __copy_from_user_ll     vmlinux
       1763.00  2.0% ip_output               vmlinux
       1761.00  2.0% ipv4_dst_destroy        vmlinux
       1631.00  1.9% eth_header              vmlinux
       1440.00  1.7% _raw_read_unlock_bh     vmlinux
      
      Reference results, if IP route cache is enabled :
      
      real	0m29.718s
      user	0m10.845s
      sys	7m37.341s
      
      25213.00 29.5% __ip_route_output_key   vmlinux
       9011.00 10.5% dst_release             vmlinux
       4817.00  5.6% ip_push_pending_frames  vmlinux
       4232.00  5.0% ip_finish_output        vmlinux
       3940.00  4.6% udp_sendmsg             vmlinux
       3730.00  4.4% __copy_from_user_ll     vmlinux
       3716.00  4.4% ip_route_output_flow    vmlinux
       2451.00  2.9% __xfrm_lookup           vmlinux
       2221.00  2.6% ip_append_data          vmlinux
       1718.00  2.0% _raw_spin_lock_bh       vmlinux
       1655.00  1.9% __alloc_skb             vmlinux
       1572.00  1.8% sock_wfree              vmlinux
       1345.00  1.6% kfree                   vmlinux
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ebc0ffae
    • Flavio Leitner's avatar
      bonding: add retransmit membership reports tunable · c2952c31
      Flavio Leitner authored
      Allow sysadmins to configure the number of multicast
      membership report sent on a link failure event.
      Signed-off-by: default avatarFlavio Leitner <fleitner@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c2952c31
    • Flavio Leitner's avatar
      bonding: fix to rejoin multicast groups immediately · e12b4539
      Flavio Leitner authored
      The IGMP specs states that if the system receives a
      membership report, it shouldn't send another for the
      next minute. However, if a link failure happens right
      after that, the backup slave and the switch connected
      to this slave will not know about the multicast and
      the traffic will hang for about a minute.
      
      This patch fixes it to rejoin multicast groups immediately
      after a failover restoring the multicast traffic.
      Signed-off-by: default avatarFlavio Leitner <fleitner@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e12b4539
    • Flavio Leitner's avatar
      bonding: rejoin multicast groups on VLANs · 5a37e8ca
      Flavio Leitner authored
      During a failover, the IGMP membership is sent to update
      the switch restoring the traffic, but it misses groups added
      to VLAN devices running on top of bonding devices.
      
      This patch changes it to iterate over all VLAN devices
      on top of it sending IGMP memberships too.
      Signed-off-by: default avatarFlavio Leitner <fleitner@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5a37e8ca
    • Breno Leitao's avatar
      ehea: converting msleeps to waitqueue on check_sqs() function · a8bb69f7
      Breno Leitao authored
      Removing the msleep() call in check_sqs() function, and replacing by a wait queue.
      Signed-off-by: default avatarBreno Leitao <leitao@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a8bb69f7
    • Breno Leitao's avatar
      ehea: using wait queues instead of msleep on ehea_flush_sq · 5b27d427
      Breno Leitao authored
      This patch just remove a msleep loop and change to wait queue,
      making the code cleaner.
      Signed-off-by: default avatarBreno Leitao <leitao@linux.vnet.ibm.com>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5b27d427
    • Emil Tantilov's avatar
      ixgbevf: declare functions as static · 9ed51657
      Emil Tantilov authored
      Following patch fixes warnings reported by `make namespacecheck`
      
      Reported by Stephen Hemminger
      
      CC: Stephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarEmil Tantilov <emil.s.tantilov@intel.com>
      Acked-by: default avatarGreg Rose <greg.v.rose@intel.com>
      Tested-by: default avatarJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9ed51657
  2. 05 Oct, 2010 24 commits
  3. 04 Oct, 2010 9 commits