On Mon, Mar 20, 2017 at 10:57:08PM -0600, Alex Williamson wrote: >On Mon, 20 Mar 2017 18:34:23 -0500 >Bodong Wang <bodong@xxxxxxxxxxxx> wrote: .../... >> > Bodong, I'm not sure if there is a requirement to load driver for the >> > specified number of VFs? That indicates no driver will be loaded for >> > other VFs. If so, this interface might serve the purpose as well. >> Gavin, thanks for the review. That is indeed an interesting suggestion. >> Theoretically, we can change that probe_vfs from boolean to integer. >> And use it as a counter to probe the first N VFs(if N < total_vfs). >> Let's see if there are any objections. > >Is it just me or does this seem like a confusing user interface, ie. to >get binary on/off behavior a user now needs to 'cat total_vfs > >sriov_probe_vfs'. It's not very intuitive, what's the use case for it? > After it's changed to integer, it accepts number. If users want to load driver for all VFs and don't want to check the maximal number of VFs, they can simply write 0xffffffff. So "on" and "off" are replaced with 0xffffffff and 0, but users has to press the keyboard more times though. drivers/net/ethernet/mellanox/mlx4/main.c::probe_vfs_argc allows to specify the number of VFs with which we're going to bind drivers. Less time is needed to enable SRIOV capability. As I had in some development environment: assume PF supports 256 VFs and I'm going to enable all of them, but I only want to load driver for two of them, then test the data path on those two VFs. Besides, I can image the VF needn't a driver in host if it's going to be passed to guest. Not sure how much sense it makes. Thanks, Gavin