Re: [Xen-devel] [PATCH net] xen-netback: respect user provided max_queues

2015-09-09 Thread Wei Liu
On Wed, Sep 09, 2015 at 11:12:44AM +0100, David Vrabel wrote:
> On 09/09/15 11:09, Wei Liu wrote:
> > Originally that parameter was always reset to num_online_cpus during
> > module initialisation, which renders it useless.
> > 
> > The fix is to only set max_queues to num_online_cpus when user has not
> > provided a value.
> [...]
> > --- a/drivers/net/xen-netback/netback.c
> > +++ b/drivers/net/xen-netback/netback.c
> > @@ -67,7 +67,7 @@ module_param(rx_drain_timeout_msecs, uint, 0444);
> >  unsigned int rx_stall_timeout_msecs = 6;
> >  module_param(rx_stall_timeout_msecs, uint, 0444);
> >  
> > -unsigned int xenvif_max_queues;
> > +unsigned int xenvif_max_queues = 0;
> 
> You don't need this.
> 
> Otherwise,
> 
> Reviewed-by: David Vrabel 
> 
> Is an equivalent fix needed in netfront?
> 

I think so.

I will address your comment and send both fixes (front and back) in a
series.

Wei.

> David
> 
> >  module_param_named(max_queues, xenvif_max_queues, uint, 0644);
> >  MODULE_PARM_DESC(max_queues,
> >  "Maximum number of queues per virtual interface");
> > @@ -2105,8 +2105,11 @@ static int __init netback_init(void)
> > if (!xen_domain())
> > return -ENODEV;
> >  
> > -   /* Allow as many queues as there are CPUs, by default */
> > -   xenvif_max_queues = num_online_cpus();
> > +   /* Allow as many queues as there are CPUs if user has not
> > +* specified a value.
> > +*/
> > +   if (xenvif_max_queues == 0)
> > +   xenvif_max_queues = num_online_cpus();
> >  
> > if (fatal_skb_slots < XEN_NETBK_LEGACY_SLOTS_MAX) {
> > pr_info("fatal_skb_slots too small (%d), bump it to 
> > XEN_NETBK_LEGACY_SLOTS_MAX (%d)\n",
> > 

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH net] xen-netback: respect user provided max_queues

2015-09-09 Thread Ian Campbell
On Wed, 2015-09-09 at 11:16 +0100, Wei Liu wrote:
> On Wed, Sep 09, 2015 at 11:12:44AM +0100, David Vrabel wrote:
> > On 09/09/15 11:09, Wei Liu wrote:
> > > Originally that parameter was always reset to num_online_cpus during
> > > module initialisation, which renders it useless.
> > > 
> > > The fix is to only set max_queues to num_online_cpus when user has
> > > not
> > > provided a value.
> > [...]
> > > --- a/drivers/net/xen-netback/netback.c
> > > +++ b/drivers/net/xen-netback/netback.c
> > > @@ -67,7 +67,7 @@ module_param(rx_drain_timeout_msecs, uint, 0444);
> > >  unsigned int rx_stall_timeout_msecs = 6;
> > >  module_param(rx_stall_timeout_msecs, uint, 0444);
> > >  
> > > -unsigned int xenvif_max_queues;
> > > +unsigned int xenvif_max_queues = 0;
> > 
> > You don't need this.
> > 
> > Otherwise,
> > 
> > Reviewed-by: David Vrabel 
> > 
> > Is an equivalent fix needed in netfront?
> > 
> 
> I think so.
> 
> I will address your comment

With that: Acked-by: Ian Campbell 



>  and send both fixes (front and back) in a
> series.
> 
> Wei.
> 
> > David
> > 
> > >  module_param_named(max_queues, xenvif_max_queues, uint, 0644);
> > >  MODULE_PARM_DESC(max_queues,
> > >"Maximum number of queues per virtual interface");
> > > @@ -2105,8 +2105,11 @@ static int __init netback_init(void)
> > >   if (!xen_domain())
> > >   return -ENODEV;
> > >  
> > > - /* Allow as many queues as there are CPUs, by default */
> > > - xenvif_max_queues = num_online_cpus();
> > > + /* Allow as many queues as there are CPUs if user has not
> > > +  * specified a value.
> > > +  */
> > > + if (xenvif_max_queues == 0)
> > > + xenvif_max_queues = num_online_cpus();
> > >  
> > >   if (fatal_skb_slots < XEN_NETBK_LEGACY_SLOTS_MAX) {
> > >   pr_info("fatal_skb_slots too small (%d), bump it to
> > > XEN_NETBK_LEGACY_SLOTS_MAX (%d)\n",
> > > 

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH net] xen-netback: respect user provided max_queues

2015-09-09 Thread David Vrabel
On 09/09/15 11:09, Wei Liu wrote:
> Originally that parameter was always reset to num_online_cpus during
> module initialisation, which renders it useless.
> 
> The fix is to only set max_queues to num_online_cpus when user has not
> provided a value.
[...]
> --- a/drivers/net/xen-netback/netback.c
> +++ b/drivers/net/xen-netback/netback.c
> @@ -67,7 +67,7 @@ module_param(rx_drain_timeout_msecs, uint, 0444);
>  unsigned int rx_stall_timeout_msecs = 6;
>  module_param(rx_stall_timeout_msecs, uint, 0444);
>  
> -unsigned int xenvif_max_queues;
> +unsigned int xenvif_max_queues = 0;

You don't need this.

Otherwise,

Reviewed-by: David Vrabel 

Is an equivalent fix needed in netfront?

David

>  module_param_named(max_queues, xenvif_max_queues, uint, 0644);
>  MODULE_PARM_DESC(max_queues,
>"Maximum number of queues per virtual interface");
> @@ -2105,8 +2105,11 @@ static int __init netback_init(void)
>   if (!xen_domain())
>   return -ENODEV;
>  
> - /* Allow as many queues as there are CPUs, by default */
> - xenvif_max_queues = num_online_cpus();
> + /* Allow as many queues as there are CPUs if user has not
> +  * specified a value.
> +  */
> + if (xenvif_max_queues == 0)
> + xenvif_max_queues = num_online_cpus();
>  
>   if (fatal_skb_slots < XEN_NETBK_LEGACY_SLOTS_MAX) {
>   pr_info("fatal_skb_slots too small (%d), bump it to 
> XEN_NETBK_LEGACY_SLOTS_MAX (%d)\n",
> 


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


[Xen-devel] [PATCH net] xen-netback: respect user provided max_queues

2015-09-09 Thread Wei Liu
Originally that parameter was always reset to num_online_cpus during
module initialisation, which renders it useless.

The fix is to only set max_queues to num_online_cpus when user has not
provided a value.

Reported-by: Johnny Strom 
Signed-off-by: Wei Liu 
Cc: Ian Campbell 
---
Cc: Johnny Strom 
Cc: David Vrabel 
---
 drivers/net/xen-netback/netback.c | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/xen-netback/netback.c 
b/drivers/net/xen-netback/netback.c
index 42569b9..b219a80 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -67,7 +67,7 @@ module_param(rx_drain_timeout_msecs, uint, 0444);
 unsigned int rx_stall_timeout_msecs = 6;
 module_param(rx_stall_timeout_msecs, uint, 0444);
 
-unsigned int xenvif_max_queues;
+unsigned int xenvif_max_queues = 0;
 module_param_named(max_queues, xenvif_max_queues, uint, 0644);
 MODULE_PARM_DESC(max_queues,
 "Maximum number of queues per virtual interface");
@@ -2105,8 +2105,11 @@ static int __init netback_init(void)
if (!xen_domain())
return -ENODEV;
 
-   /* Allow as many queues as there are CPUs, by default */
-   xenvif_max_queues = num_online_cpus();
+   /* Allow as many queues as there are CPUs if user has not
+* specified a value.
+*/
+   if (xenvif_max_queues == 0)
+   xenvif_max_queues = num_online_cpus();
 
if (fatal_skb_slots < XEN_NETBK_LEGACY_SLOTS_MAX) {
pr_info("fatal_skb_slots too small (%d), bump it to 
XEN_NETBK_LEGACY_SLOTS_MAX (%d)\n",
-- 
2.1.4


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel