Hi Dave,
Regarding module parameters num_queues_per_{p,v}f, in non-default case if user
wants to have multiple queues then because of the way Liquidio HW works we need
num_queues_per_pf and num_queues_per_vf module parameters at HW/module init
time. This is because in multi-queues per VF scenario, HW has to carve these
queues before FW can start communicating with PF/VF host drivers. So we must
include these two parameters incase more than queue is needed by VF.
I did not get reply from you when I requested you for confirmation couple of
weeks back about the same two module parameters as shown in the mail
attachment.
So please confirm if you want us to remove these two parameters
num_queues_per_{p,v}f. Then I can remove these module parameters and resubmit
the patches.
Thanks and Regards
Raghu.
> -Original Message-
> From: David Miller [mailto:da...@davemloft.net]
> Sent: Saturday, October 29, 2016 11:31 AM
> To: Vatsavayi, Raghu
> Cc: netdev@vger.kernel.org
> Subject: Re: [PATCH net-next V3 0/9] liquidio CN23XX VF support
>
> From: Raghu Vatsavayi
> Date: Tue, 25 Oct 2016 17:57:01 -0700
>
> > 2) As recommended by you removed custom module parameter max_vfs.
>
> I feel the same way about num_queues_per_{p,v}f.
>
> What's really strange is that there is a reference to num_queues_per_pf in
> one of the kernel log messages already.
--- Begin Message ---
> -Original Message-
> From: David Miller [mailto:da...@davemloft.net]
> Sent: Thursday, October 20, 2016 1:57 PM
> To: Vatsavayi, Raghu
> Cc: netdev@vger.kernel.org; Chickles, Derek; Burla, Satananda; Manlunas,
> Felix
> Subject: Re: [PATCH net-next V2 1/9] liquidio CN23XX: HW config for VF
> support
>
> From: "Vatsavayi, Raghu"
> Date: Thu, 20 Oct 2016 20:01:37 +
>
> >
> >
> >> -Original Message-
> >> From: David Miller [mailto:da...@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
> >> Date: Wed, 19 Oct 2016 22:40:38 -0700
> >>
> >> > +/* 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
> >> > +with
> >> FW.
> >> > + */
> >> > +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-separated
> >> unsigned
> >> > +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.
Dave, I will remove max_vfs module parameter and will just use the generic
mechanism that all drivers do like:
" echo 10 > /sys/devices/pci:00/:00:03.0/:03:00.1/sriov_numvfs"
Regarding other module parameters, in non-default case if user wants to have
multiple queues then because of the way Liquidio HW works we need
num_queues_per_pf and num_queues_per_vf module parameters at HW/module init
time. This is because in multi-queues per VF scenario, HW has to carve these
queues before FW can start communicating with PF/VF host drivers, so we must
include these two parameters.
Please confirm that having these two module parameters is fine for non-default
case. I will soon forward you the patches with these changes that you have
recommended.
Thanks Much
Raghu.
--- End Message ---