[PATCH] kvm: Increase NR_IOBUS_DEVS limit to 200

2010-03-30 Thread Sridhar Samudrala
This patch increases the current hardcoded limit of NR_IOBUS_DEVS
from 6 to 200. We are hitting this limit when creating a guest with more
than 1 virtio-net device using vhost-net backend. Each virtio-net
device requires 2 such devices to service notifications from rx/tx queues.

Signed-off-by: Sridhar Samudrala 


diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index a3fd0f9..7fb48d3 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -54,7 +54,7 @@ extern struct kmem_cache *kvm_vcpu_cache;
  */
 struct kvm_io_bus {
int   dev_count;
-#define NR_IOBUS_DEVS 6
+#define NR_IOBUS_DEVS 200 
struct kvm_io_device *devs[NR_IOBUS_DEVS];
 };
 



--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] kvm: Increase NR_IOBUS_DEVS limit to 200

2010-03-31 Thread Michael S. Tsirkin
On Tue, Mar 30, 2010 at 04:48:25PM -0700, Sridhar Samudrala wrote:
> This patch increases the current hardcoded limit of NR_IOBUS_DEVS
> from 6 to 200. We are hitting this limit when creating a guest with more
> than 1 virtio-net device using vhost-net backend. Each virtio-net
> device requires 2 such devices to service notifications from rx/tx queues.
> 
> Signed-off-by: Sridhar Samudrala 
> 

I tried this, but observed a measurable performance
degradation with vhost net and this patch. Did not
investigate yet.  Do you see this as well?

> diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
> index a3fd0f9..7fb48d3 100644
> --- a/include/linux/kvm_host.h
> +++ b/include/linux/kvm_host.h
> @@ -54,7 +54,7 @@ extern struct kmem_cache *kvm_vcpu_cache;
>   */
>  struct kvm_io_bus {
>   int   dev_count;
> -#define NR_IOBUS_DEVS 6
> +#define NR_IOBUS_DEVS 200 
>   struct kvm_io_device *devs[NR_IOBUS_DEVS];
>  };
>  
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] kvm: Increase NR_IOBUS_DEVS limit to 200

2010-03-31 Thread Sridhar Samudrala
On Wed, 2010-03-31 at 12:51 +0300, Michael S. Tsirkin wrote:
> On Tue, Mar 30, 2010 at 04:48:25PM -0700, Sridhar Samudrala wrote:
> > This patch increases the current hardcoded limit of NR_IOBUS_DEVS
> > from 6 to 200. We are hitting this limit when creating a guest with more
> > than 1 virtio-net device using vhost-net backend. Each virtio-net
> > device requires 2 such devices to service notifications from rx/tx queues.
> > 
> > Signed-off-by: Sridhar Samudrala 
> > 
> 
> I tried this, but observed a measurable performance
> degradation with vhost net and this patch. Did not
> investigate yet.  Do you see this as well?

No. I am not seeing any degradation that is not within the range of
variation seen with kvm networking.
For ex: On a Nehalem 2 socket, 8 core system, running netperf TCP_STREAM
with 64K size packets, i am getting 12-13Gb/s guest to host and
11-12Gb/s host to guest with and without this patch.

Thanks
Sridhar


> 
> > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
> > index a3fd0f9..7fb48d3 100644
> > --- a/include/linux/kvm_host.h
> > +++ b/include/linux/kvm_host.h
> > @@ -54,7 +54,7 @@ extern struct kmem_cache *kvm_vcpu_cache;
> >   */
> >  struct kvm_io_bus {
> > int   dev_count;
> > -#define NR_IOBUS_DEVS 6
> > +#define NR_IOBUS_DEVS 200 
> > struct kvm_io_device *devs[NR_IOBUS_DEVS];
> >  };
> >  
> > 
> > 

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] kvm: Increase NR_IOBUS_DEVS limit to 200

2010-04-01 Thread Avi Kivity

On 03/31/2010 02:48 AM, Sridhar Samudrala wrote:

This patch increases the current hardcoded limit of NR_IOBUS_DEVS
from 6 to 200. We are hitting this limit when creating a guest with more
than 1 virtio-net device using vhost-net backend. Each virtio-net
device requires 2 such devices to service notifications from rx/tx queues.
   


Applied, thanks.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html