netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net] xen-netback: respect user provided max_queues
@ 2015-09-09 10:09 Wei Liu
  2015-09-09 10:12 ` David Vrabel
  0 siblings, 1 reply; 4+ messages in thread
From: Wei Liu @ 2015-09-09 10:09 UTC (permalink / raw)
  To: Xen-devel, netdev; +Cc: Wei Liu, Ian Campbell, Johnny Strom, David Vrabel

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 <johnny.strom@linuxsolutions.fi>
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
---
Cc: Johnny Strom <johnny.strom@linuxsolutions.fi>
Cc: David Vrabel <david.vrabel@citrix.com>
---
 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 = 60000;
 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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH net] xen-netback: respect user provided max_queues
  2015-09-09 10:09 [PATCH net] xen-netback: respect user provided max_queues Wei Liu
@ 2015-09-09 10:12 ` David Vrabel
  2015-09-09 10:16   ` Wei Liu
  0 siblings, 1 reply; 4+ messages in thread
From: David Vrabel @ 2015-09-09 10:12 UTC (permalink / raw)
  To: Wei Liu, Xen-devel, netdev; +Cc: Ian Campbell, Johnny Strom

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 = 60000;
>  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 <david.vrabel@citrix.com>

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",
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net] xen-netback: respect user provided max_queues
  2015-09-09 10:12 ` David Vrabel
@ 2015-09-09 10:16   ` Wei Liu
  2015-09-09 10:29     ` Ian Campbell
  0 siblings, 1 reply; 4+ messages in thread
From: Wei Liu @ 2015-09-09 10:16 UTC (permalink / raw)
  To: David Vrabel; +Cc: Wei Liu, Xen-devel, netdev, Ian Campbell, Johnny Strom

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 = 60000;
> >  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 <david.vrabel@citrix.com>
> 
> 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",
> > 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net] xen-netback: respect user provided max_queues
  2015-09-09 10:16   ` Wei Liu
@ 2015-09-09 10:29     ` Ian Campbell
  0 siblings, 0 replies; 4+ messages in thread
From: Ian Campbell @ 2015-09-09 10:29 UTC (permalink / raw)
  To: Wei Liu, David Vrabel; +Cc: Xen-devel, netdev, Johnny Strom

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 = 60000;
> > >  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 <david.vrabel@citrix.com>
> > 
> > Is an equivalent fix needed in netfront?
> > 
> 
> I think so.
> 
> I will address your comment

With that: Acked-by: Ian Campbell <ian.campbell@citrix.com>



>  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",
> > > 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-09-09 10:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-09 10:09 [PATCH net] xen-netback: respect user provided max_queues Wei Liu
2015-09-09 10:12 ` David Vrabel
2015-09-09 10:16   ` Wei Liu
2015-09-09 10:29     ` Ian Campbell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).