[PATCH v6 0/4] Provide core API for NMIs
From: Julien Thierry
Date: Thu Jan 31 2019 - 09:54:20 EST
Hi,
This patch series provides a way for irqchips to define some IRQs as NMIs.
Updating this series as it is needed for the arm64 pseudo-NMI which we
are considering to merge (I'll post a new version shortly).
Changes since v5[1]:
- Added Marc's Acked-by, Reviewed-by tags
- Fixed locking bug in ready_percpu_nmi()
- Renamed ready_percpu_nmi() to prepare_percpu_nmi()
- Added documentation prepare_percpu_nmi() and teardown_percpu_nmi()
Changes since v4[2]:
- Rebased on v5.0-rc4
- Modified comment for request_percpu_nmi() to detail
the use of per CPU NMIs a bit more
Changes since v3[3]:
- Rebased on v4.20-rc2
Changes since v2[4]:
- Fix ARM build error reported by kbuild bot
- Fix documentation warnings reported by kbuild bot
Changes since v1[5]:
- Rebased to v4.19-rc1
- Fix some coding style issues
Changes since RFC[6]:
- Rebased to v4.18-rc6
- Remove disable_nmi, one should call disable_nmi_nosync instead
- Remove code related to affinity balancing from NMI functions
- Require PERCPU configuration for NMIs
[1] https://lkml.org/lkml/2019/1/28/541
[2] https://lkml.org/lkml/2018/11/12/2113
[3] https://lkml.org/lkml/2018/8/31/173
[4] https://lkml.org/lkml/2018/8/28/661
[5] https://lkml.org/lkml/2018/7/24/321
[6] https://lkml.org/lkml/2018/7/9/768
Cheers,
Julien
-->
Julien Thierry (4):
genirq: Provide basic NMI management for interrupt lines
genirq: Provide NMI management for percpu_devid interrupts
genirq: Provide NMI handlers
irqdesc: Add domain handler for NMIs
include/linux/interrupt.h | 18 +++
include/linux/irq.h | 10 ++
include/linux/irqdesc.h | 5 +
kernel/irq/chip.c | 54 +++++++
kernel/irq/debugfs.c | 6 +-
kernel/irq/internals.h | 2 +
kernel/irq/irqdesc.c | 35 ++++
kernel/irq/manage.c | 405 +++++++++++++++++++++++++++++++++++++++++++++-
8 files changed, 532 insertions(+), 3 deletions(-)
--
1.9.1