On Fri, Nov 11, 2022 at 10:27:18PM +0800, Longpeng(Mike) wrote: > From: Longpeng <longpeng2@xxxxxxxxxx> > > We can enable SRIOV and add VFs by /sys/bus/pci/devices/..../sriov_numvfs, but > this operation needs to spend lots of time if there has a large amount of VFs. > > For example, if the machine has 10 PFs and 250 VFs per-PF, enable all the VFs > concurrently would cost about 200-250ms. However most of them are not need to be > used at the moment, so we can enable SRIOV first but add VFs on demand. > > This series introduces two interfaces: > 1. sriov_numvfs_no_scan: enable SRIOV without add the VFs. > 2. sriov_scan_vf_id: add a specific VF. > > Longpeng (4): > pci/sriov: extract sriov_numvfs common helper > pci/sriov: add vf_bitmap to mark the vf id allocation > pci/sriov: add sriov_numfs_no_scan interface > pci/sriov: add sriov_scan_vf_id interface When you respond to Leon's questions, please also spend a little time to look at the iov.c history and coding style and follow it, so we don't have to waste time commenting on or fixing trivial things. For example, there are no previous subject lines for that file that start with "pci/sriov". Don't make up a new prefix; use what's been done in the past. And follow the style of capitalizing the first word after the prefix. There are a few comments that look like they are more than 80 columns. Again unlike everything else in the file. The PCIe spec spells it "SR-IOV", not "sriov". Do the same in your commit logs and comments. Capitalize "VF" consistently. I see "VF" and "vf" used randomly. Sysfs changes require documention updates, e.g., in Documentation/ABI/testing/sysfs-bus-pci.