1. 06 3月, 2015 7 次提交
    • Y
      e1000e: fix obscure comments · 9d17ce49
      Yanir Lubetkin 提交于
      The interface to the device flash was modified in i219 and later HW.
      This patch better describes the change and the impact on the driver.
      
      CC: John W Linville <linville@tuxdriver.com>
      Reported-by: NJohn W Linville <linville@tuxdriver.com>
      Signed-off-by: NYanir Lubetkin <yanirx.lubetkin@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      9d17ce49
    • S
      rocker: implement IPv4 fib offloading · c1beeef7
      Scott Feldman 提交于
      The driver implements ndo_switch_fib_ipv4_add/del ops to add/del/mod IPv4
      routes to/from switchdev device.  Once a route is added to the device, and the
      route's nexthops are resolved to neighbor MAC address, the device will forward
      matching pkts rather than the kernel.  This offloads the L3 forwarding path
      from the kernel to the device.  Note that control and management planes are
      still mananged by Linux; only the data plane is offloaded.  Standard routing
      control protocols such as OSPF and BGP run on Linux and manage the kernel's FIB
      via standard rtm netlink msgs...nothing changes here.
      
      A new hash table is added to rocker to track neighbors.  The driver listens for
      neighbor updates events using netevent notifier NETEVENT_NEIGH_UPDATE.  Any ARP
      table updates for ports on this device are recorded in this table.  Routes
      installed to the device with nexthops that reference neighbors in this table
      are "qualified".  In the case of a route with nexthops not resolved in the
      table, the kernel is asked to resolve the nexthop.
      
      The driver uses fib_info->fib_priority for the priority field in rocker's
      unicast routing table.
      
      The device can only forward to pkts matching route dst to resolved nexthops.
      Currently, the device only supports single-path routes (i.e. routes with one
      nexthop).  Equal Cost Multipath (ECMP) route support will be added in followup
      patches.
      
      This patch is driver support for unicast IPv4 routing only.  Followup patches
      will add driver and infrastructure for IPv6 routing and multicast routing.
      Signed-off-by: NScott Feldman <sfeldma@gmail.com>
      Signed-off-by: NJiri Pirko <jiri@resnulli.us>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c1beeef7
    • E
      tg3: use napi_complete_done() · 24d2e4a5
      Eric Dumazet 提交于
      Using napi_complete_done() instead of napi_complete() allows
      us to use /sys/class/net/ethX/gro_flush_timeout
      
      GRO layer can aggregate more packets if the flush is delayed a bit,
      without having to set too big coalescing parameters that impact
      latencies.
      
      Tested:
      
      lpx:~# echo 0 >/sys/class/net/eth1/gro_flush_timeout
      
      lpx:~# sar -n DEV 1 10 | grep eth1
      10:36:25 AM      eth1  81290.00  40617.00 120479.67   2777.01      0.00      0.00      0.00
      10:36:26 AM      eth1  81283.00  40608.00 120481.81   2778.13      0.00      0.00      1.00
      10:36:27 AM      eth1  81304.00  40639.00 120518.42   2778.28      0.00      0.00      0.00
      10:36:28 AM      eth1  81255.00  40605.00 120437.34   2775.95      0.00      0.00      1.00
      10:36:29 AM      eth1  81306.00  40630.00 120521.44   2777.70      0.00      0.00      0.00
      10:36:30 AM      eth1  81286.00  40564.00 120480.20   2773.31      0.00      0.00      0.00
      10:36:31 AM      eth1  81256.00  40599.00 120438.81   2776.27      0.00      0.00      0.00
      10:36:32 AM      eth1  81287.00  40594.00 120480.69   2776.69      0.00      0.00      0.00
      10:36:33 AM      eth1  81279.00  40601.00 120478.53   2775.84      0.00      0.00      0.00
      10:36:34 AM      eth1  81277.00  40610.00 120476.94   2776.25      0.00      0.00      0.00
      Average:         eth1  81282.30  40606.70 120479.39   2776.54      0.00      0.00      0.20
      
      lpx:~# echo 13000 >/sys/class/net/eth1/gro_flush_timeout
      
      lpx:~# sar -n DEV 1 10 | grep eth1
      10:36:43 AM      eth1  81257.00   7747.00 120437.44    530.00      0.00      0.00      0.00
      10:36:44 AM      eth1  81278.00   7748.00 120480.00    529.85      0.00      0.00      0.00
      10:36:45 AM      eth1  81282.00   7752.00 120479.09    531.09      0.00      0.00      0.00
      10:36:46 AM      eth1  81282.00   7751.00 120478.80    530.90      0.00      0.00      0.00
      10:36:47 AM      eth1  81276.00   7745.00 120478.31    529.64      0.00      0.00      0.00
      10:36:48 AM      eth1  81278.00   7747.00 120478.50    529.81      0.00      0.00      0.00
      10:36:49 AM      eth1  81282.00   7749.00 120478.88    530.01      0.00      0.00      0.00
      10:36:50 AM      eth1  81284.00   7751.00 120481.52    530.20      0.00      0.00      0.00
      10:36:51 AM      eth1  81299.00   7769.00 120481.74    533.81      0.00      0.00      0.00
      10:36:52 AM      eth1  81281.00   7748.00 120478.62    529.96      0.00      0.00      0.00
      Average:         eth1  81279.90   7750.70 120475.29    530.53      0.00      0.00      0.00
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Acked-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      24d2e4a5
    • J
      i40e: Fix mismatching type for ioremap_len · e815665e
      Jeff Kirsher 提交于
      As pointed out by Ben Hutchings, ioremap uses unsigned long as
      its parameter type, so we should be using that instead of u32
      or int.
      Reported-by: NBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e815665e
    • H
      cxgb4: Try and provide an RDMA CIQ per cpu · f36e58e5
      Hariprasad Shenai 提交于
      To allow for better scalability on systems with large core counts, we
      will try and allocate enough RDMA Concentrator IQs and MSI/X vectors as
      we have cores. If we cannot get enough MSI/X vectors, fall back to the
      minimum required: 1 per adapter rx channel.
      
      Also clean up cxgb_enable_msix() to make it readable and correct a bug
      where the vectors are not correctly assigned if the driver doesn't get
      the full amount requested.
      Signed-off-by: NSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: NHariprasad Shenai <hariprasad@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f36e58e5
    • H
      cxgb4: Move offload Rx queue allocation to separate function · 1c6a5b0e
      Hariprasad Shenai 提交于
      Adds a common function for all Rx queue allocation.
      Signed-off-by: NHariprasad Shenai <hariprasad@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1c6a5b0e
    • S
      i40e/i40evf: Version bump · d3866a07
      Sravanthi Tangeda 提交于
      Bump i40e to 1.2.11 and i40evf to 1.2.5
      
      Change-ID: Ie13375941606b0a027e5b5dbc235f5f5f03b75c8
      Signed-off-by: NSravanthi Tangeda <sravanthi.tangeda@intel.com>
      Tested-by: NJim Young <james.m.young@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      d3866a07
  2. 05 3月, 2015 23 次提交
  3. 04 3月, 2015 10 次提交