[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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@xxxxxxxxxx> 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


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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.