An error occurred fetching the project authors.
  1. 11 Jun, 2018 1 commit
  2. 30 May, 2018 2 commits
  3. 29 Apr, 2018 2 commits
  4. 19 Mar, 2018 1 commit
    • Toshiaki Makita's avatar
      virtio_net: Disable interrupts if napi_complete_done rescheduled napi · 127bda4b
      Toshiaki Makita authored
      [ Upstream commit fdaa767a ]
      
      Since commit 39e6c820 ("net: solve a NAPI race") napi has been able
      to be rescheduled within napi_complete_done() even in non-busypoll case,
      but virtnet_poll() always enabled interrupts before complete, and when
      napi was rescheduled within napi_complete_done() it did not disable
      interrupts.
      This caused more interrupts when event idx is disabled.
      
      According to commit cbdadbbf ("virtio_net: fix race in RX VQ
      processing") we cannot place virtqueue_enable_cb_prepare() after
      NAPI_STATE_SCHED is cleared, so disable interrupts again if
      napi_complete_done() returned false.
      
      Tested with vhost-user of OVS 2.7 on host, which does not have the event
      idx feature.
      
      * Before patch:
      
      $ netperf -t UDP_STREAM -H 192.168.150.253 -l 60 -- -m 1472
      MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.150.253 () port 0 AF_INET
      Socket  Message  Elapsed      Messages
      Size    Size     Time         Okay Errors   Throughput
      bytes   bytes    secs            #      #   10^6bits/sec
      
      212992    1472   60.00     32763206      0    6430.32
      212992           60.00     23384299           4589.56
      
      Interrupts on guest: 9872369
      Packets/interrupt:   2.37
      
      * After patch
      
      $ netperf -t UDP_STREAM -H 192.168.150.253 -l 60 -- -m 1472
      MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.150.253 () port 0 AF_INET
      Socket  Message  Elapsed      Messages
      Size    Size     Time         Okay Errors   Throughput
      bytes   bytes    secs            #      #   10^6bits/sec
      
      212992    1472   60.00     32794646      0    6436.49
      212992           60.00     32793501           6436.27
      
      Interrupts on guest: 4941299
      Packets/interrupt:   6.64
      Signed-off-by: default avatarToshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
      Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarSasha Levin <alexander.levin@microsoft.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      127bda4b
  5. 09 Mar, 2018 1 commit
  6. 25 Feb, 2018 1 commit
  7. 24 Aug, 2017 1 commit
  8. 19 Aug, 2017 1 commit
  9. 16 Aug, 2017 1 commit
  10. 14 Aug, 2017 1 commit
  11. 01 Aug, 2017 1 commit
  12. 26 Jul, 2017 1 commit
    • Arnd Bergmann's avatar
      virtio-net: mark PM functions as __maybe_unused · 67a75194
      Arnd Bergmann authored
      After removing the reset function, the freeze and restore functions
      are now unused when CONFIG_PM_SLEEP is disabled:
      
      drivers/net/virtio_net.c:1881:12: error: 'virtnet_restore_up' defined but not used [-Werror=unused-function]
       static int virtnet_restore_up(struct virtio_device *vdev)
      drivers/net/virtio_net.c:1859:13: error: 'virtnet_freeze_down' defined but not used [-Werror=unused-function]
       static void virtnet_freeze_down(struct virtio_device *vdev)
      
      A more robust way to do this is to remove the #ifdef around the callers
      and instead mark them as __maybe_unused. The compiler will now just
      silently drop the unused code.
      
      Fixes: 4941d472 ("virtio-net: do not reset during XDP set")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      67a75194
  13. 25 Jul, 2017 1 commit
  14. 24 Jul, 2017 4 commits
  15. 17 Jul, 2017 1 commit
  16. 07 Jul, 2017 1 commit
  17. 29 Jun, 2017 1 commit
  18. 16 Jun, 2017 2 commits
  19. 05 Jun, 2017 1 commit
  20. 02 Jun, 2017 1 commit
  21. 24 May, 2017 1 commit
  22. 09 May, 2017 6 commits
  23. 03 May, 2017 1 commit
  24. 02 May, 2017 1 commit
  25. 01 May, 2017 2 commits
  26. 26 Apr, 2017 1 commit
  27. 25 Apr, 2017 2 commits