lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 23 Oct 2015 02:20:24 -0600
From:	"Jan Beulich" <JBeulich@...e.com>
To:	"Joe Jin" <joe.jin@...cle.com>
Cc:	"Ian Campbell" <ian.campbell@...rix.com>, <wei.liu2@...rix.com>,
	"David S. Miller" <davem@...emloft.net>,
	<xen-devel@...ts.xenproject.org>,
	"Boris Ostrovsky" <boris.ostrovsky@...cle.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@...cle.com>,
	<netdev@...r.kernel.org>
Subject: Re: [Xen-devel] [PATCH 1/2] xen-netback: limit xen vif max
 queues number to online cpus

>>> On 23.10.15 at 09:58, <joe.jin@...cle.com> wrote:
> --- a/drivers/net/xen-netback/netback.c
> +++ b/drivers/net/xen-netback/netback.c
> @@ -68,7 +68,9 @@ unsigned int rx_stall_timeout_msecs = 60000;
>  module_param(rx_stall_timeout_msecs, uint, 0444);
>  
>  unsigned int xenvif_max_queues;
> -module_param_named(max_queues, xenvif_max_queues, uint, 0644);
> +static int xennet_set_max_queues(const char *val, struct kernel_param *kp);
> +module_param_call(max_queues, xennet_set_max_queues, param_get_int,

param_get_uint

> +		  &xenvif_max_queues, 0600);

Why the change from mode 0644 to 0600?

> @@ -107,6 +109,20 @@ static struct xen_netif_rx_response *make_rx_response(struct xenvif_queue *queue
>  					     u16      size,
>  					     u16      flags);
>  
> +static int xennet_set_max_queues(const char *val, struct kernel_param *kp)
> +{
> +	unsigned int cpus = num_online_cpus();
> +	unsigned int max_queues = simple_strtoul(val, NULL, 10);
> +
> +	if (max_queues == 0 || max_queues > cpus) {
> +		pr_info("max_queues %d is out of range [0 - %d]!\n", 

%u in both cases.

> +			max_queues, cpus);
> +		return -EINVAL;

Considering the message: -ERANGE?

> +	}
> +
> +	return param_set_int(val, kp);

param_set_uint()

> @@ -2110,15 +2126,15 @@ int xenvif_dealloc_kthread(void *data)
>  static int __init netback_init(void)
>  {
>  	int rc = 0;
> +	unsigned int cpus = num_online_cpus();
>  
>  	if (!xen_domain())
>  		return -ENODEV;
>  
> -	/* 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();
> +	/* Allow at most as many queues as CPUs. */
> +	if (xenvif_max_queues == 0 || xenvif_max_queues > cpus)
> +		xenvif_max_queues = cpus;
> +	pr_info("vif max_queues: %d\n", xenvif_max_queues);

%u again.

Jan

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

Powered by blists - more mailing lists