On 7/27/2018 10:51 AM, Alex_Gagniuc@xxxxxxxxxxxx wrote:
The first problem with that patch was that I hadn't fully understood
yet when to set PCI_DEV_DISCONNECTED and when not to set it.
I think PCI_DEV_DISCONNECTED is a documentation issue above all else.
The history I was given is that drivers would take a very long time to
tear down a device. Config space IO to an nonexistent device took a long
while to time out. Performance was one motivation -- and was not documented.
Completion timeouts are typically in the orders of 50ms. If you have a
lot of outstanding non-posted requests, it will take time for SW to
flush all requests.