1. 17 11月, 2016 36 次提交
  2. 16 11月, 2016 4 次提交
    • D
      Merge branch 'alx-multiqueue-support' · 21b23dae
      David S. Miller 提交于
      Tobias Regnery says:
      
      ====================
      alx: add multi queue support
      
      This patchset lays the groundwork for multi queue support in the alx driver
      and enables multi queue support for the tx path by default. The hardware
      supports up to 4 tx queues.
      
      Benefits are better utilization of multi core cpus and the usage of the
      msi-x support by default which splits the handling of rx / tx and misc
      other interrupts.
      
      The rx path is a little bit harder because apparently (based on the limited
      information from the downstream driver) the hardware supports up to 8 rss
      queues but only has one hardware descriptor ring on the rx side. So the rx
      path will be part of another patchset.
      
      Tested on my AR8161 ethernet adapter with different tests:
      - there are no regressions observed during my daily usage
      - iperf tcp and udp tests shows no performance regressions
      - netperf TCP_RR and UDP_RR shows a slight performance increase of about
        1-2% with this patchset applied
      
      This work is based on the downstream driver at github.com/qca/alx
      
      Changes in V2:
      	- drop unneeded casts in alx_alloc_rx_ring (Patch 1)
      	- add additional information about testing and benefit to the
      	  changelog
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      21b23dae
    • T
      alx: enable multiple tx queues · d768319c
      Tobias Regnery 提交于
      Enable multiple tx queues by default based on the number of online cpus. The
      hardware supports up to four tx queues.
      
      Based on the downstream driver at github.com/qca/alx
      Signed-off-by: NTobias Regnery <tobias.regnery@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d768319c
    • T
      alx: enable msi-x interrupts by default · f58e0f77
      Tobias Regnery 提交于
      Remove the module parameter to enable msi-x support and enable msi-x
      interrupts unconditionally by default. This is a preparatory step to enable
      multi queue support by default, because this is only working with msi-x
      interrupts.
      Signed-off-by: NTobias Regnery <tobias.regnery@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f58e0f77
    • T
      alx: prepare tx path for multi queue support · 2e06826b
      Tobias Regnery 提交于
      This patch prepares the tx path to send data on multiple tx queues. It
      introduces per queue register adresses and uses them in the alx_tx_queue
      structs.
      
      There are new helper functions for the queue mapping in the tx path.
      
      Based on the downstream driver at github.com/qca/alx
      Signed-off-by: NTobias Regnery <tobias.regnery@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2e06826b