Re: [PATCH net-next V2 1/9] liquidio CN23XX: HW config for VF support
From: David Miller <davem@davemloft.net>
Date: 2016-10-20 20:57:22
From: "Vatsavayi, Raghu" <redacted> Date: Thu, 20 Oct 2016 20:01:37 +0000
quoted
-----Original Message----- From: David Miller [mailto:davem@davemloft.net] Sent: Thursday, October 20, 2016 11:13 AM To: Vatsavayi, Raghu Cc: netdev@vger.kernel.org; Vatsavayi, Raghu; Chickles, Derek; Burla, Satananda; Manlunas, Felix Subject: Re: [PATCH net-next V2 1/9] liquidio CN23XX: HW config for VF support From: Raghu Vatsavayi <redacted> Date: Wed, 19 Oct 2016 22:40:38 -0700quoted
+/* Default behaviour of Liquidio is to provide one queue per VF. But +Liquidio + * can also provide multiple queues to each VF. If user wants to +change the + * default behaviour HW should be provided configuration info at init +time, + * based on which it will create control queues for communicating withFW.quoted
+ */ +static u32 max_vfs[2] = { 0, 0 }; +module_param_array(max_vfs, int, NULL, 0444); +MODULE_PARM_DESC(max_vfs, "Assign two comma-separated unsigned +integers that specify max number of VFs for PF0 (left of the comma) +and PF1 (right of the comma); for 23xx only. By default HW will +configure as many VFs as queues after allocating PF queues.To +increase queues for VF use this parameter. Use sysfs to create these +VFs."); + +static unsigned int num_queues_per_pf[2] = { 0, 0 }; +module_param_array(num_queues_per_pf, uint, NULL, 0444); +MODULE_PARM_DESC(num_queues_per_pf, "two comma-separatedunsignedquoted
+integers that specify number of queues per PF0 (left of the comma) +and PF1 (right of the comma); for 23xx only"); + static int ptp_enable = 1;We cannot continue to allow drivers to add custom module parameters to control this. It is the worst user experience possible. We need a tree-wide generic, consistent, manner in which to configure and control this kind of thing.Sure Dave, I will remove max_vfs module parameter and will use tree wide generic sysfs interface to enable VFs.
That's not what I meant. I mean there needs to be a generic mechanism that isn't a per-device knob (be it a module parameter or a sysctl, to me these are identical functionality and user experience wise). Something like ethtool or netlink.