On Tue, 3 Aug 2021 13:41:52 -0300 Jason Gunthorpe jgg@nvidia.com wrote:
On Tue, Aug 03, 2021 at 10:34:06AM -0600, Alex Williamson wrote:
I think the vfio_pci_find_reset_target() function needs to be re-worked to just tell us true/false that it's ok to reset the provided device, not to anoint an arbitrary target device. Thanks,
Yes, though this logic is confusing, why do we need to check if any device needs a reset at this point? If we are being asked to reset vdev shouldn't vdev needs_reset?
Or is the function more of a 'synchronize pending reset' kind of thing?
Yes, the latter. For instance think about a multi-function PCI device such as a GPU. The functions have dramatically different capabilities, some might have function level reset abilities and others not. We want to be able to trigger a bus reset as the last device of the set is released, no matter the order they're released and no matter the capabilities of the device we're currently processing. Thanks,
Alex