Message ID | 1423209253-22222-3-git-send-email-jasowang@redhat.com |
---|---|
State | New |
Headers | show |
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.
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
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 --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
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(-)