Skip to content

enable/disable zero copy tx dynamically

Michael S. Tsirkin virtualization 4 versions – New

Get series with b4
b4 am 'cover.1351797353.git.mst__2085.03712569854$1351797260$gmane$org@redhat.com'

Versions newest first · linked by author and title

  1. v3 Latest posting 2/20 of 8 patches 0 repliesNew
  2. v3 posting 1/28 patches 1 replySuperseded
  3. v28 patches 4 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v18 patches6 repliesSuperseded

Changes in v3 from the cover letter

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

Patches in v3 posting 2/2 No applies recorded yet

None of the 8 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCHv3 net-next 0/8] enable/disable zero copy tx dynamically

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(-)
Signature · 1 line
MST