All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv3 net-next 0/8] enable/disable zero copy tx dynamically
@ 2012-11-01 19:16 Michael S. Tsirkin
  2012-11-01 19:16   ` Michael S. Tsirkin
                   ` (10 more replies)
  0 siblings, 11 replies; 20+ messages in thread
From: Michael S. Tsirkin @ 2012-11-01 19:16 UTC (permalink / raw)
  Cc: Vlad Yasevich, David S. Miller, Eric Dumazet, Andrew Morton,
	Alexander Duyck, Ian Campbell, kvm, virtualization, netdev,
	linux-kernel


tun supports zero copy transmit since 0690899b4d4501b3505be069b9a687e68ccbe15b,
however you can only enable this mode if you know your workload does not
trigger heavy guest to host/host to guest traffic - otherwise you
get a (minor) performance regression.
This patchset addresses this problem by notifying the owner
device when callback is invoked because of a data copy.
This makes it possible to detect whether zero copy is appropriate
dynamically: we start in zero copy mode, when we detect
data copied we disable zero copy for a while.

With this patch applied, I get the same performance for
guest to host and guest to guest both with and without zero copy tx.

Changes from v2:
  change callback parameter from int to bool
  accordingly, drop err parameter from skb_tx_error

Changes from v1:
  Comment fixups in patches 2 and 8 suggested by Vlad Yasevich,
     no changes to other patches

Michael S. Tsirkin (8):
  skb: report completion status for zero copy skbs
  skb: api to report errors for zero copy skbs
  tun: report orphan frags errors to zero copy callback
  vhost-net: cleanup macros for DMA status tracking
  vhost: track zero copy failures using DMA length
  vhost: move -net specific code out
  vhost-net: select tx zero copy dynamically
  vhost-net: reduce vq polling on tx zerocopy

 drivers/net/tun.c         |   1 +
 drivers/vhost/net.c       | 111 +++++++++++++++++++++++++++++++++++++++++++---
 drivers/vhost/tcm_vhost.c |   1 +
 drivers/vhost/vhost.c     |  52 +++-------------------
 drivers/vhost/vhost.h     |  11 ++---
 include/linux/skbuff.h    |   5 ++-
 net/core/skbuff.c         |  24 +++++++++-
 7 files changed, 144 insertions(+), 61 deletions(-)

-- 
MST

^ permalink raw reply	[flat|nested] 20+ messages in thread
* [PATCHv3 net-next 0/8] enable/disable zero copy tx dynamically
@ 2012-11-01 19:16 Michael S. Tsirkin
  0 siblings, 0 replies; 20+ messages in thread
From: Michael S. Tsirkin @ 2012-11-01 19:16 UTC (permalink / raw)
  Cc: Vlad Yasevich, Alexander Duyck, Ian Campbell, kvm, netdev,
	linux-kernel, virtualization, Eric Dumazet, Andrew Morton,
	David S. Miller


tun supports zero copy transmit since 0690899b4d4501b3505be069b9a687e68ccbe15b,
however you can only enable this mode if you know your workload does not
trigger heavy guest to host/host to guest traffic - otherwise you
get a (minor) performance regression.
This patchset addresses this problem by notifying the owner
device when callback is invoked because of a data copy.
This makes it possible to detect whether zero copy is appropriate
dynamically: we start in zero copy mode, when we detect
data copied we disable zero copy for a while.

With this patch applied, I get the same performance for
guest to host and guest to guest both with and without zero copy tx.

Changes from v2:
  change callback parameter from int to bool
  accordingly, drop err parameter from skb_tx_error

Changes from v1:
  Comment fixups in patches 2 and 8 suggested by Vlad Yasevich,
     no changes to other patches

Michael S. Tsirkin (8):
  skb: report completion status for zero copy skbs
  skb: api to report errors for zero copy skbs
  tun: report orphan frags errors to zero copy callback
  vhost-net: cleanup macros for DMA status tracking
  vhost: track zero copy failures using DMA length
  vhost: move -net specific code out
  vhost-net: select tx zero copy dynamically
  vhost-net: reduce vq polling on tx zerocopy

 drivers/net/tun.c         |   1 +
 drivers/vhost/net.c       | 111 +++++++++++++++++++++++++++++++++++++++++++---
 drivers/vhost/tcm_vhost.c |   1 +
 drivers/vhost/vhost.c     |  52 +++-------------------
 drivers/vhost/vhost.h     |  11 ++---
 include/linux/skbuff.h    |   5 ++-
 net/core/skbuff.c         |  24 +++++++++-
 7 files changed, 144 insertions(+), 61 deletions(-)

-- 
MST

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2012-11-03  1:31 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-01 19:16 [PATCHv3 net-next 0/8] enable/disable zero copy tx dynamically Michael S. Tsirkin
2012-11-01 19:16 ` [PATCHv3 net-next 1/8] skb: report completion status for zero copy skbs Michael S. Tsirkin
2012-11-01 19:16   ` Michael S. Tsirkin
2012-11-01 19:16 ` [PATCHv3 net-next 2/8] skb: api to report errors " Michael S. Tsirkin
2012-11-01 19:16 ` Michael S. Tsirkin
2012-11-01 19:16 ` [PATCHv3 net-next 3/8] tun: report orphan frags errors to zero copy callback Michael S. Tsirkin
2012-11-01 19:16   ` Michael S. Tsirkin
2012-11-01 19:16 ` [PATCHv3 net-next 4/8] vhost-net: cleanup macros for DMA status tracking Michael S. Tsirkin
2012-11-01 19:16   ` Michael S. Tsirkin
2012-11-01 19:16 ` [PATCHv3 net-next 5/8] vhost: track zero copy failures using DMA length Michael S. Tsirkin
2012-11-01 19:16   ` Michael S. Tsirkin
2012-11-01 19:16 ` [PATCHv3 net-next 6/8] vhost: move -net specific code out Michael S. Tsirkin
2012-11-01 19:16   ` Michael S. Tsirkin
2012-11-01 19:16 ` [PATCHv3 net-next 7/8] vhost-net: select tx zero copy dynamically Michael S. Tsirkin
2012-11-01 19:16   ` Michael S. Tsirkin
2012-11-01 19:16 ` [PATCHv3 net-next 8/8] vhost-net: reduce vq polling on tx zerocopy Michael S. Tsirkin
2012-11-01 19:16 ` Michael S. Tsirkin
2012-11-03  1:31 ` [PATCHv3 net-next 0/8] enable/disable zero copy tx dynamically David Miller
2012-11-03  1:31   ` David Miller
  -- strict thread matches above, loose matches on Subject: below --
2012-11-01 19:16 Michael S. Tsirkin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.