Skip to contentSkip to conversation

virtio specification: OOO completion of the xmit buffers in the networking device

DISCUSSION Vlad Zolotarov 3 participants 3 messages Jun 2, 2014 – Jun 4, 2014 KVM

lore
Share & tools
lore
#0 lore raw

Rusty, hi!
I'd like to ask for a small clarification about the virtio spec.
The virtio specification is put the way that it allows the out-of-order completions in general. Although it states that it's mostly relevant to the virtio-blk it doesn't explicitly bans it for virtio networking devices (for generality?).

(AFAICS the current virtio HV implementations make sure there is no OOO Tx buffers completions).

I wonder if this feature (OOO Tx buffers completions) seems practical to u and if not can I hope that it could be clearly stated in the future virtio specification releases that it's forbidden?

thanks in advance,
vlad

#1 lore raw
Quoted 6 lines · Vlad Zolotarov

Rusty, hi!
I'd like to ask for a small clarification about the virtio spec. The virtio specification is put the way that it allows the out-of-order completions in general. Although it states that it's mostly relevant to the virtio-blk it doesn't explicitly bans it for virtio networking devices (for generality?).

Indeed.

Quoted 6 lines

(AFAICS the current virtio HV implementations make sure there is no OOO Tx buffers completions).

I wonder if this feature (OOO Tx buffers completions) seems practical to u and if not can I hope that it could be clearly stated in the future virtio specification releases that it's forbidden?

Are you sure that vhost-net doesn't allow async completion already? I can't immediately see why it can't happen, but MST is CC'd.

Cheers,
Rusty.

#2 lore raw
Quoted 17 lines · Rusty Russell
Quoted 6 lines · Vlad Zolotarov

Rusty, hi!
I'd like to ask for a small clarification about the virtio spec. The virtio specification is put the way that it allows the out-of-order completions in general. Although it states that it's mostly relevant to the virtio-blk it doesn't explicitly bans it for virtio networking devices (for generality?).

Indeed.

Quoted 6 lines

(AFAICS the current virtio HV implementations make sure there is no OOO Tx buffers completions).

I wonder if this feature (OOO Tx buffers completions) seems practical to u and if not can I hope that it could be clearly stated in the future virtio specification releases that it's forbidden?

Quoted 5 lines

Are you sure that vhost-net doesn't allow async completion already? I can't immediately see why it can't happen, but MST is CC'd.

Cheers,
Rusty.

vhost-net completes in order but this is just an implementation detail:
this allows keeping a couple of indexes for head/tail instead of tracking requests individually.

We can change this in the future and
guest must allow out of order completions.

Signature · 1 line
MST