On Sat, Jun 16, 2018 at 09:25:00PM +0200, Lukas Wunner wrote: > Rework pciehp to use modern, threaded IRQ handling. The slot is powered > on and off synchronously in the IRQ thread, no indirection via a work > queue anymore. > > When the slot is enabled/disabled by the user via sysfs or an Attention > Button press, a request is sent to the IRQ thread. The IRQ thread is > thus the sole entity enabling/disabling the slot. > > The IRQ thread can cope with missed events, e.g. if a card is inserted > and immediately pulled out before the IRQ thread had a chance to react. > It also tolerates an initially unstable link as observed in the wild by > Stefan Roese. > > Finally, runtime PM support is added. This was the original motivation > of the series because runtime suspending hotplug ports is needed to power > down Thunderbolt controllers on idle, which saves ~1.5W per controller. > Runtime resuming ports takes tenths of milliseconds during which events > may be missed, this in turn necessitated the event handling rework. > > I've pushed the series to GitHub to ease reviewing/fetching: > https://github.com/l1k/linux/commits/pciehp_runpm_v2 My current test branch: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci/06-16-lukas-pciehp has this series with these changes: - Drop the genirq patch (already merged via tip) - Add one blank line (pcie_cleanup_slot()) - A few trivial changelog updates (mostly to use lkml.kernel.org links to reduce dependency on 3rd party archives) Do you plan any other updates? The open questions I see are: - You mentioned withdrawing "03/32 PCI: pciehp: Fix deadlock on unplug". I tried simply dropping that, but that caused a conflict that I didn't try to resolve. - Mika had a few questions/comments that are still dangling. - Whether to include "02/32 PCI: pciehp: Fix UAF on unplug" in the v4.19 merge window or in v4.18. Bjorn