Re: [PATCH 1/2] xen/netfront: set default upper limit of tx/rx queues to 8
From: Boris Ostrovsky
Date: Tue Jan 10 2017 - 09:53:52 EST
On 01/10/2017 08:32 AM, Juergen Gross wrote:
> The default for the number of tx/rx queues of one interface is the
> number of vcpus of the system today. As each queue pair reserves 512
> grant pages this default consumes a ridiculous number of grants for
> large guests.
>
> Limit the queue number to 8 as default. This value can be modified
> via a module parameter if required.
>
> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
> ---
> drivers/net/xen-netfront.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> index a479cd9..490c865 100644
> --- a/drivers/net/xen-netfront.c
> +++ b/drivers/net/xen-netfront.c
> @@ -57,6 +57,7 @@
> #include <xen/interface/grant_table.h>
>
> /* Module parameters */
> +#define MAX_QUEUES_DEFAULT 8
> static unsigned int xennet_max_queues;
> module_param_named(max_queues, xennet_max_queues, uint, 0644);
> MODULE_PARM_DESC(max_queues,
> @@ -2164,11 +2165,12 @@ static int __init netif_init(void)
>
> pr_info("Initialising Xen virtual ethernet driver\n");
>
> - /* Allow as many queues as there are CPUs if user has not
> + /* Allow as many queues as there are CPUs inut max. 8 if user has not
Based on comment change in the second patch: s/inut/but/ ? Also, comment
style in both patches.
Other than that, for both:
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
> * specified a value.
> */
> if (xennet_max_queues == 0)
> - xennet_max_queues = num_online_cpus();
> + xennet_max_queues = min_t(unsigned int, MAX_QUEUES_DEFAULT,
> + num_online_cpus());
>
> return xenbus_register_frontend(&netfront_driver);
> }