1. 19 12月, 2018 6 次提交
  2. 18 12月, 2018 20 次提交
  3. 17 12月, 2018 12 次提交
  4. 16 12月, 2018 2 次提交
    • I
      net: socionext: remove mmio reads on Tx · 35e07d23
      Ilias Apalodimas 提交于
      Currently the driver issues 2 mmio reads to figure out the number of
      transmitted packets and clean them. We can get rid of the expensive
      reads since BIT 31 of the Tx descriptor can be used for that.
      We can also remove the budget counting of Tx completions since all of
      the descriptors are not deliberately processed.
      
      Performance numbers using pktgen are:
      size  pre-patch(pps)  post-patch(pps)
      64       362483           427916
      128      358315           411686
      256      352725           389683
      512      215675           216464
      1024     113812           114442
      Signed-off-by: NIlias Apalodimas <ilias.apalodimas@linaro.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      35e07d23
    • I
      net: socionext: correctly recover txq after being full · 17a12eaa
      Ilias Apalodimas 提交于
      Running pktgen with packets sizes > 512b ends up in the interface Txq
      getting stuck.
      "netsec 522d0000.ethernet eth0: netsec_netdev_start_xmit: TxQFull!"
      appears on dmesg but the interface never recovers. It requires an
      ifconfig down/up to make the interface usable again.
      
      The reason that triggers this, is a race condition between
      .ndo_start_xmit and the napi completion. The available budget is
      calculated first and indicates the queue is full. Due to a costly
      netif_err() the queue is not stopped in time while the napi completion
      runs, clears the irq and frees up descriptors, thus the queue never wakes
      up again.
      
      Fix this by moving the print after stopping the queue, make the print
      ratelimited, add barriers and check for cleaned descriptors..
      Signed-off-by: NIlias Apalodimas <ilias.apalodimas@linaro.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      17a12eaa