> From: Alex Williamson <alex.williamson@xxxxxxxxxx> > Sent: Friday, June 27, 2025 6:56 AM > > In the below noted Fixes commit we introduced a reflck mutex to allow > better scaling between devices for open and close. The reflck was > based on the hot reset granularity, device level for root bus devices > which cannot support hot reset or bus/slot reset otherwise. Overlooked > in this were SR-IOV VFs, where there's also no bus reset option, but > the default for a non-root-bus, non-slot-based device is bus level > reflck granularity. > > The reflck mutex has since become the dev_set mutex and is our defacto > serialization for various operations and ioctls. It still seems to be > the case though that sets of vfio-pci devices really only need > serialization relative to hot resets affecting the entire set, which > is not relevant to SR-IOV VFs. As described in the Closes link below, > this serialization contributes to startup latency when multiple VFs > sharing the same "bus" are opened concurrently. > > Mark the device itself as the basis of the dev_set for SR-IOV VFs. > > Reported-by: Aaron Lewis <aaronlewis@xxxxxxxxxx> > Closes: https://lore.kernel.org/all/20250626180424.632628-1- > aaronlewis@xxxxxxxxxx > Tested-by: Aaron Lewis <aaronlewis@xxxxxxxxxx> > Fixes: e309df5b0c9e ("vfio/pci: Parallelize device open and release") > Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>