Re: [PATCH 00/32] Rework pciehp event handling & add runtime PM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux