Re: [PATCHv3] virtio-spec: virtio network device multiqueue support
From: Sasha Levin <hidden>
Date: 2012-09-07 00:17:08
Also in:
kvm, netdev
Hi Michael, On 09/06/2012 02:08 PM, Michael S. Tsirkin wrote:
Add multiqueue support to virtio network device. Add a new feature flag VIRTIO_NET_F_MULTIQUEUE for this feature, a new configuration field max_virtqueue_pairs to detect supported number of virtqueues as well as a new command VIRTIO_NET_CTRL_STEERING to program packet steering. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Some comments about the change: - "The following four read-only fields only exists if VIRTIO_NET_F_MULTIQUEUE is set." => Should be "exist" (I think). - "When rule is set to VIRTIO_NET_CTRL_STEERING_RX_FOLLOWS_TX packets are steered by driver to the first (param+1) multiqueue virtqueues transmitq1...transmitqN;" - Why param+1? I thought we ignore the default transmit/receive in this case. - "As selecting a specific steering ais n optimization feature" - "is an". - It's mentioned several times that the ability to read the steering rule from the virtio-net config is there for debug reasons. Is it really necessary? I think it's the first time I see debug features go in as part of the spec. - I'm slightly confused, why are there both receive and transmit steering? I can't find a difference in the way to configure the rule for transmit and receive. Is it a plan for the future to allow different rules for tx and rx? If so, shouldn't we use different ctrl commands ( VIRTIO_NET_CTRL_TX_STEERING/VIRTIO_NET_CTRL_RX_STEERING)? - "When rule is set to VIRTIO_NET_CTRL_STEERING_SINGLE all packets are steered to the default virtqueue receveq (0);" - "receiveq (0)" Thanks, Sasha