Thread (14 messages) 14 messages, 5 authors, 2012-09-19

Re: [PATCHv4] virtio-spec: virtio network device multiqueue support

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2012-09-12 07:57:37
Also in: kvm, netdev

On Wed, Sep 12, 2012 at 03:19:11PM +0930, Rusty Russell wrote:
Jason Wang [off-list ref] writes:
quoted
On 09/10/2012 02:33 PM, Michael S. Tsirkin wrote:
quoted
A final addition: what you suggest above would be
"TX follows RX", right?
BTW, yes.  But it's a weird way to express what the nic is doing.
It explains what the system is doing.
TX is done by driver, RX by nic.
We document both driver and device in the spec
so I thought it's fine. any suggestions wellcome.
quoted
quoted
It is in anticipation of something like that, that I made
steering programming so generic.
quoted
quoted
I think TX follows RX is more immediately useful for reasons above
but we can add both to spec and let drivers and devices
decide what they want to support.
You mean "RX follows TX"?  ie. accelerated RFS.  I agree.

Yes that's what I meant. Thanks for the correction.
Perhaps Tom can explain how we avoid out-of-order receive for the
accelerated RFS case?  It's not clear to me, but we need to be able to
do that for virtio-net if it implements accelerated RFS.
Basically this has tx vq per cpu and relies on scheduler not bouncing threads
between cpus too aggressively. Appears to be what ixgbe does.
quoted
AFAIK, ixgbe does "rx follows tx". The only differences between ixgbe 
and virtio-net is that ixgbe driver programs the flow director during 
packet transmission but we suggest to do it silently in the device for 
simplicity.
Implying the receive queue by xmit will be slightly laggy.  Don't know
if that's a problem.

Cheers,
Rusty.
Doesn't seem to be a problem in Jason's testing so far.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help