1. 10 10月, 2017 36 次提交
  2. 09 10月, 2017 4 次提交
    • C
      qed: Delete redundant check on dcb_app priority · c49c777f
      Christos Gkekas 提交于
      dcb_app priority is unsigned thus checking whether it is less than zero
      is redundant.
      Signed-off-by: NChristos Gkekas <chris.gekas@gmail.com>
      Acked-By: NTomer Tayar <Tomer.Tayar@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c49c777f
    • C
      net: ethernet: stmmac: Clean up dead code · c778c321
      Christos Gkekas 提交于
      Many macros in dwmac-ipq806x are unused and should be removed.
      Moreover gmac->id is an unsigned variable and therefore checking
      whether it is less than zero is redundant.
      Signed-off-by: NChristos Gkekas <chris.gekas@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c778c321
    • D
      Merge branch 'ipv6_dev_get_saddr-rcu' · bf6a119e
      David S. Miller 提交于
      Eric Dumazet says:
      
      ====================
      ipv6: ipv6_dev_get_saddr() rcu works
      
      Sending IPv6 udp packets on non connected sockets is quite slow,
      because ipv6_dev_get_saddr() is still using an rwlock and silly
      references games on ifa.
      
      Tested:
      
      $ ./super_netperf 16 -H 4444::555:0786 -l 2000 -t UDP_STREAM -- -m 100 &
      [1] 12527
      
      Performance is boosted from 2.02 Mpps to 4.28 Mpps
      
      Kernel profile before patches :
        22.62%  [kernel]  [k] _raw_read_lock_bh
         7.04%  [kernel]  [k] refcount_sub_and_test
         6.56%  [kernel]  [k] ipv6_get_saddr_eval
         5.67%  [kernel]  [k] _raw_read_unlock_bh
         5.34%  [kernel]  [k] __ipv6_dev_get_saddr
         4.95%  [kernel]  [k] refcount_inc_not_zero
         4.03%  [kernel]  [k] __ip6addrlbl_match
         3.70%  [kernel]  [k] _raw_spin_lock
         3.44%  [kernel]  [k] ipv6_dev_get_saddr
         3.24%  [kernel]  [k] ip6_pol_route
         3.06%  [kernel]  [k] refcount_add_not_zero
         2.30%  [kernel]  [k] __local_bh_enable_ip
         1.81%  [kernel]  [k] mlx4_en_xmit
         1.20%  [kernel]  [k] __ip6_append_data
         1.12%  [kernel]  [k] __ip6_make_skb
         1.11%  [kernel]  [k] __dev_queue_xmit
         1.06%  [kernel]  [k] l3mdev_master_ifindex_rcu
      
      Kernel profile after patches :
        11.36%  [kernel]  [k] ip6_pol_route
         7.65%  [kernel]  [k] _raw_spin_lock
         7.16%  [kernel]  [k] __ipv6_dev_get_saddr
         6.49%  [kernel]  [k] ipv6_get_saddr_eval
         6.04%  [kernel]  [k] refcount_add_not_zero
         3.34%  [kernel]  [k] __ip6addrlbl_match
         2.62%  [kernel]  [k] __dev_queue_xmit
         2.37%  [kernel]  [k] mlx4_en_xmit
         2.26%  [kernel]  [k] dst_release
         1.89%  [kernel]  [k] __ip6_make_skb
         1.87%  [kernel]  [k] __ip6_append_data
         1.86%  [kernel]  [k] udpv6_sendmsg
         1.86%  [kernel]  [k] ip6t_do_table
         1.64%  [kernel]  [k] ipv6_dev_get_saddr
         1.64%  [kernel]  [k] find_match
         1.51%  [kernel]  [k] l3mdev_master_ifindex_rcu
         1.24%  [kernel]  [k] ipv6_addr_label
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bf6a119e
    • E
      ipv6: avoid cache line dirtying in ipv6_dev_get_saddr() · cc429c8f
      Eric Dumazet 提交于
      By extending the rcu section a bit, we can avoid these
      very expensive in6_ifa_put()/in6_ifa_hold() calls
      done in __ipv6_dev_get_saddr() and ipv6_dev_get_saddr()
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cc429c8f