linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] irqchip/gic: Generalize use of HW-based retriggering
@ 2020-09-03 18:32 Marc Zyngier
  2020-09-03 18:32 ` [PATCH v2 1/4] genirq: Walk the irq_data hierarchy when resending an interrupt Marc Zyngier
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Marc Zyngier @ 2020-09-03 18:32 UTC (permalink / raw)
  To: linux-kernel, linux-arm-kernel
  Cc: Jason Cooper, Thomas Gleixner, Valentin Schneider, kernel-team

Valentin recently pointed out that that relying on SW-based retrigger
with any of the GIC interrupt controllers is both inefficient and
slightly broken, as it messes the GIC's own state machine.

For this to work with the hierarchical irqchip model that the GIC
uses, we need check_irq_resend grow an understanding of hierarchies,
something it has been lacking for some time.

The 3 other patches simply implement the HW resend callbacks, and
finally prevent any SW resend for the GICs.

Unless anyone objects, I plan to take this into 5.10.

* From v1:
  - Dropped most of the patches in favour of a teaching the core
    kernel to use irq_chip_retriger_hierarchy()

Marc Zyngier (2):
  genirq: Walk the irq_data hierarchy when resending an interrupt
  irqchip/git-v3-its: Implement irq_retrigger callback for
    device-triggered LPIs

Valentin Schneider (2):
  irqchip/gic-v2, v3: Implement irq_chip->irq_retrigger()
  irqchip/gic-v2, v3: Prevent SW resends entirely

 drivers/irqchip/irq-gic-v3-its.c |  6 ++++++
 drivers/irqchip/irq-gic-v3.c     | 12 +++++++++++-
 drivers/irqchip/irq-gic.c        | 12 +++++++++++-
 kernel/irq/resend.c              | 15 +++++++++++++--
 4 files changed, 41 insertions(+), 4 deletions(-)

-- 
2.28.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-09-05 12:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-03 18:32 [PATCH v2 0/4] irqchip/gic: Generalize use of HW-based retriggering Marc Zyngier
2020-09-03 18:32 ` [PATCH v2 1/4] genirq: Walk the irq_data hierarchy when resending an interrupt Marc Zyngier
2020-09-04 19:28   ` Valentin Schneider
2020-09-05  9:26     ` Marc Zyngier
2020-09-05 12:58       ` Valentin Schneider
2020-09-03 18:32 ` [PATCH v2 2/4] irqchip/gic-v2, v3: Implement irq_chip->irq_retrigger() Marc Zyngier
2020-09-03 18:32 ` [PATCH v2 3/4] irqchip/git-v3-its: Implement irq_retrigger callback for device-triggered LPIs Marc Zyngier
2020-09-03 18:32 ` [PATCH v2 4/4] irqchip/gic-v2, v3: Prevent SW resends entirely Marc Zyngier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).