tun zerocopy support
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest6 patches 3 repliesIn review
- v16 patches 0 repliesSuperseded
Changes in v3 from the cover letter
Fixed some bugs so it's stable now
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/6 | skbuff: add an api to orphan fragsinclude/ | +16 | 0 replies | |
| 2/6 | skbuff: convert to skb_orphan_fragsnet/ | +8 | 0 replies | |
| 3/6 | skbuff: export skb_copy_ubufsnet/ | +1 | 0 replies | |
| 4/6 | tun: orphan frags on xmitdrivers/ | +2 | 0 replies | |
| 5/6 | net: orphan frags on receivenet/ | +6 | 0 replies | |
| 6/6 | tun: experimental zero copy tx supportdrivers/ | +134 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.
Cover letter [PATCHv3 0/6] tun zerocopy support
This adds support for experimental zero copy transmit to tun.
This includes some patches from Ian's patchset to support zerocopy with tun, so it should help that work progress: we are still trying to figure out how to make everything work properly with tcp but tun seems easier, and it's helpful by itself since not everyone can use macvtap.
Same as with macvtap, I get single-percentage wins in CPU utilization on guest to external from this patchset, and a performance regression on guest to host, so more work is needed until this feature can move out of experimental status, but I think it's useful for some people already.
Pls review and consider for 3.6.
There's some code duplication between tun and macvtap now: common code could move to net/core/datagram.c, this patch does not do this yet.
Changes from v2:
Fixed some bugs so it's stable now
Michael S. Tsirkin (6):
skbuff: add an api to orphan frags
skbuff: convert to skb_orphan_frags
skbuff: export skb_copy_ubufs
tun: orphan frags on xmit
net: orphan frags on receive
tun: experimental zero copy tx support
drivers/net/tun.c | 148 +++++++++++++++++++++++++++++++++++++++++++++---- include/linux/skbuff.h | 16 ++++++ net/core/dev.c | 7 ++- net/core/skbuff.c | 24 +++----- 4 files changed, 167 insertions(+), 28 deletions(-)
Signature · 1 line
MST