diff mbox

[2/5] virtio: increase VIRITO_QUEUE_MAX to 513

Message ID 1423209253-22222-3-git-send-email-jasowang@redhat.com
State New
Headers show

Commit Message

Jason Wang Feb. 6, 2015, 7:54 a.m. UTC
Recent linux kernel supports up to 256 tap queues. Increase the limit
to 513 (256 * 2 + 1(ctrl vq)).

Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 include/hw/virtio/virtio.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Stefan Hajnoczi Feb. 6, 2015, 4:21 p.m. UTC | #1
On Fri, Feb 06, 2015 at 03:54:10PM +0800, Jason Wang wrote:

Subject has a typo s/VIRITIO/VIRTIO/

> Recent linux kernel supports up to 256 tap queues. Increase the limit
> to 513 (256 * 2 + 1(ctrl vq)).

For other reviewers:
sizeof(VirtQueue) on x86_64 is 88 bytes.  We waste memory but it's only
on the order of 40 KB so I think this is okay.
Michael S. Tsirkin Feb. 8, 2015, 10:51 a.m. UTC | #2
On Fri, Feb 06, 2015 at 03:54:10PM +0800, Jason Wang wrote:
> Recent linux kernel supports up to 256 tap queues. Increase the limit
> to 513 (256 * 2 + 1(ctrl vq)).
> 
> Signed-off-by: Jason Wang <jasowang@redhat.com>

We have a bunch of loops over all possible VQ numbers in virtio pci.
Doing this for 1000 VQs when most of them are inactive seems extreme - I
suspect we need a list of active VQs now.

> ---
>  include/hw/virtio/virtio.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
> index 220c09d..21bb30f 100644
> --- a/include/hw/virtio/virtio.h
> +++ b/include/hw/virtio/virtio.h
> @@ -92,7 +92,7 @@ typedef struct VirtQueueElement
>      struct iovec out_sg[VIRTQUEUE_MAX_SIZE];
>  } VirtQueueElement;
>  
> -#define VIRTIO_QUEUE_MAX 64
> +#define VIRTIO_QUEUE_MAX 513
>  
>  #define VIRTIO_NO_VECTOR 0xffff
>  
> -- 
> 1.9.1
Jason Wang Feb. 9, 2015, 6:11 a.m. UTC | #3
On Sun, Feb 8, 2015 at 6:51 PM, Michael S. Tsirkin <mst@redhat.com> 
wrote:
> On Fri, Feb 06, 2015 at 03:54:10PM +0800, Jason Wang wrote:
>>  Recent linux kernel supports up to 256 tap queues. Increase the 
>> limit
>>  to 513 (256 * 2 + 1(ctrl vq)).
>>  
>>  Signed-off-by: Jason Wang <jasowang@redhat.com>
> 
> We have a bunch of loops over all possible VQ numbers in virtio pci.
> Doing this for 1000 VQs when most of them are inactive seems extreme 
> - I
> suspect we need a list of active VQs now.

We can do it on top of this series. But not sure it was really needed 
since none of those loops happen on data path. So we were probably ok.
> 
> 
>>  ---
>>   include/hw/virtio/virtio.h | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>  
>>  diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
>>  index 220c09d..21bb30f 100644
>>  --- a/include/hw/virtio/virtio.h
>>  +++ b/include/hw/virtio/virtio.h
>>  @@ -92,7 +92,7 @@ typedef struct VirtQueueElement
>>       struct iovec out_sg[VIRTQUEUE_MAX_SIZE];
>>   } VirtQueueElement;
>>   
>>  -#define VIRTIO_QUEUE_MAX 64
>>  +#define VIRTIO_QUEUE_MAX 513
>>   
>>   #define VIRTIO_NO_VECTOR 0xffff
>>   
>>  -- 
>>  1.9.1
>
diff mbox

Patch

diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
index 220c09d..21bb30f 100644
--- a/include/hw/virtio/virtio.h
+++ b/include/hw/virtio/virtio.h
@@ -92,7 +92,7 @@  typedef struct VirtQueueElement
     struct iovec out_sg[VIRTQUEUE_MAX_SIZE];
 } VirtQueueElement;
 
-#define VIRTIO_QUEUE_MAX 64
+#define VIRTIO_QUEUE_MAX 513
 
 #define VIRTIO_NO_VECTOR 0xffff