Merge branch 'virtio-net-busy-poll'
authorDavid S. Miller <davem@davemloft.net>
Wed, 23 Jul 2014 22:12:32 +0000 (15:12 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 23 Jul 2014 22:12:32 +0000 (15:12 -0700)
commit92bab4e71522767bd9033fff60744b111b015fef
tree0b55a52980362bd053ef02615bb0b7630e86e02f
parent96b3bff4c94cebc97726dc7f019cfc7ba3ced2e1
parent91815639d8804d1eee7ce2e1f7f60b36771db2c9
Merge branch 'virtio-net-busy-poll'

Jason Wang says:

====================
rx busy polling support for virtio-net

This series introduces the support for rx busy polling support.  This
was useful for reducing the latency for a kvm guest.  Instead of
introducing new states and spinlocks, this series re-uses NAPI state
to synchonrize between NAPI and busy polling.  This grealy simplified
the codes and reduce the overheads of spinlocks for normal NAPI fast
path.

Test was done between a kvm guest and an external host.  Two hosts were
connected through 40gb mlx4 cards. With both busy_poll and  busy_read
are set to 50 in guest, 1 byte netperf tcp_rr shows 127% improvement:
transaction rate was increased from 8353.33 to 18966.87.

Changes from V2:
- Avoid introducing new states and spinlocks by reusuing the NAPI
  state
- Fix the budget calculation in virtnet_poll()
- Drop patch 1/3 from V2 since it was useless

Changes from V1:
- split the patch info smaller ones
- add more details about test setup/configuration
====================

Signed-off-by: David S. Miller <davem@davemloft.net>