High-speed tun receive and xmit
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest5 patches 29 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | virtio: put last_used and last_avail index into ring itself.drivers/ include/ include/ | +26 | 0 replies | |
| 1/5 | virtio: put last_used and last_avail index into ring itself.drivers/ include/ include/ | +26 | 0 replies | |
| 2/5 | /dev/vring: simple userspace-kernel ringbuffer interface.drivers/ drivers/ drivers/ +1 more | +469 | 0 replies | |
| 2/5 | /dev/vring: simple userspace-kernel ringbuffer interface.drivers/ drivers/ drivers/ +1 more | +469 | 17 replies | |
| 3/5 | /dev/vring limit and base ioctlsDocumentation/ drivers/ include/ | +45 | 0 replies | |
| 3/5 | /dev/vring limit and base ioctlsDocumentation/ drivers/ include/ | +45 | 0 replies | |
| 4/5 | tun: vringfd receive support.drivers/ drivers/ include/ | +162 | 0 replies | |
| 4/5 | tun: vringfd receive support.drivers/ drivers/ include/ | +162 | 0 replies | |
| 5/5 | tun: vringfd xmit support.drivers/ include/ | +351 | 0 replies | |
| 5/5 | tun: vringfd xmit support.drivers/ include/ | +351 | 0 replies | |
| 5/5 | tun: vringfd xmit support.drivers/ include/ | +351 | 12 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/5] High-speed tun receive and xmit
kvm (and lguest!) want to get more speed out of the tun device. We already have an ABI for guest<->host comms, called virtio_ring; extending tun to understand this (with its async nature and batching) make for an efficient network.
But moreover: the same things that make virtio a good guest<->host transport make it appealing as a userspace<->kernel transport. So rather than do something just for tun, we create a /dev/vring. We could do a system call, but /dev/vring is sufficient. It is a nice, simple format for normal tun usage too.
We do need a small (backwards-compatible) extension to the ring format if we're going to do this however, since we didn't previously expose the consumer's view of the producer (and vice verse) in the ring because the other end doesn't need to see it. However, it means that a middleman (as the kvm or lguest launcher process now becomes) cannot save and restore all the ring state.
Cheers,
Rusty.