On Thu, 9 Sep 2010 02:53:52 pm Krishna Kumar2 wrote: > Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote on 09/09/2010 09:19:39 AM: > > > On Wed, 8 Sep 2010 04:59:05 pm Krishna Kumar wrote: > > > Add virtio_get_queue_index() to get the queue index of a > > > vq. This is needed by the cb handler to locate the queue > > > that should be processed. > > > > This seems a bit weird. I mean, the driver used vdev->config->find_vqs > > to find the queues, which returns them (in order). So, can't you put > this > > into your struct send_queue? > > I am saving the vqs in the send_queue, but the cb needs > to locate the device txq from the svq. The only other way > I could think of is to iterate through the send_queue's > and compare svq against sq[i]->svq, but cb's happen quite > a bit. Is there a better way? Ah, good point. Move the queue index into the struct virtqueue? > > Also, why define VIRTIO_MAX_TXQS? If the driver can't handle all of > them, > > it should simply not use them... > > The main reason was vhost :) Since vhost_net_release > should not fail (__fput can't handle f_op->release() > failure), I needed a maximum number of socks to > clean up: Ah, then it belongs in the vhost headers. The guest shouldn't see such a restriction if it doesn't apply; it's a host thing. Oh, and I think you could profitably use virtio_config_val(), too. Thanks! Rusty. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html