Re: [net-next RFC PATCH 5/5] virtio-net: flow director support
From: Jason Wang <jasowang@redhat.com>
Date: 2011-12-07 12:10:47
Also in:
kvm, virtualization
On 12/07/2011 05:08 PM, Stefan Hajnoczi wrote: [...]
quoted
quoted
Consider the complexity of the host nic each with their own steering features, this series make the first step with minimal effort to try to let guest driver and host tap/macvtap co-operate like what physical nic does. There may be other method, but performance numbers is also needed to give the answer.I agree that performance results for this need to be shown. My original point is really that it's not a good idea to take individual steps without a good big picture because this will change the virtio-net device specification. If this turns out to be a dead end then hosts will need to continue to support the interface forever (legacy guests could still try to use it). So please first explain what the full stack picture is going to look like and how you think it will lead to better performance. You don't need to have all the code or evidence, but just enough explanation so we see where this is all going.
I think I mention too little in the cover message. There's no much changes with Krishna's series except the method that choosing a rx virtqueue. Since original series use different hash methods in host (rxhash) and guest (txhash), a different virtqueue were chose for a flow which could lead packets of a flow to be handled by different vhost thread and vcpu. This may damage the performance. This series tries to let one vhost thread to process the packets of a flow and also let the packets to be sent directly to a vcpu local to the thread process the data. This is done by letting guest tell the desired queue form which it want to receive the pakcet of a dedicated flow. So passing the hash from host to guest is needed to get the same hash in the two sides. Then a guest programmable hash to queue table were introduced and guest co-operate with the host through accelerate RFS in guest.