On Mon, Mar 12, 2018 at 05:26:26PM -0600, Keith Busch wrote: > On Mon, Mar 12, 2018 at 02:47:30PM -0500, Bjorn Helgaas wrote: > > On Mon, Mar 12, 2018 at 08:25:51AM -0600, Keith Busch wrote: > > > Per spec, DPC is the recommended way for handling surprise removal > > > events and even recommends DPC capable slots *not* set 'Surprise' > > > in Slot Capabilities so that removals are always handled by DPC. This > > > service driver was developed with that use in mind. > > > > Thanks for this tip. The only thing I've found so far is the mention > > of Surprise Down triggering DPC in the last paragraph of sec 6.7.5. > > Are there other references I should look at? I haven't found the > > recommendation about not setting 'Surprise' in Slot Capabilities yet. > > No problem, it's in the "IMPLEMENTATION NOTE" at the end of 6.2.10.4, > "Avoid Disabled Link and Hot-Plug Surprise Use with DPC". > > Outside the spec, Microsemi as one of the PCI-SIG contributors and early > adopters of the capability published a white paper "Hot and Surprise > Plug Recommendations for Enterprise PCIe" providing guidance for OS > drivers using DPC. We originally developed to that guidance. The paper > unfortunately appears to be pay-walled now. :( Any chance you have a URL or contact info for this pay-walled white paper? Sounds like it might have useful information in it.