On Wed, Nov 29, 2017 at 11:25:09AM -0600, Govinda Tatti wrote:Yes, we are moving in the same direction.
Hmm.. is the suitable reset method something that can be figured out automatically?pcistub_reset_dev() just tries slot or bus reset but not FLR since it isWhile related in a certain way, I can't really see how this addressesFurthermore, contrary to what you claim inCurrently, multiple resets are being invoked (independently) in the context
your reply to Pasi, I can't see where you try an actual FLR first -
you go straight to pci_probe_reset_{slot,bus}(). If you actually
tried FLR first, only falling back to the other methods as "emulation",
I could certainly agree with the file name chosen.
of "xl attach/detach/shutdown/reboot".
- pci_reset_function_locked (invoked by pcistub_put_pci_dev())
This function tries various PCI reset methods including FLR.
- pcistub_reset_dev (called by toolsstack based on "do_flr" attribute)
the comment.
being
checked and executed by pci_reset_function_locked() if supported. May be we
can
add FLR reset code to pcistub_reset_dev() and try FLR first before fall-back
to
slot/bus reset.
I mean if FLR is tried first, but it isn't supported by the device, is it OK to go ahead and do a slot/bus reset automatically?
What if there are other devices in the same bus, wouldn't automatic bus reset be a bad thing?We will perform BUS or SLOT reset only if all device/functions behind the bus/slot are owned by pcistub.
Or should the reset-method be configured by the user for the VM / PCI device ?
Just thinking out loud here..