[PATCH 0/4] genirq/nvme: add IRQF_RESCUE_THREAD for avoiding IRQ flood

From: Ming Lei
Date: Tue Aug 27 2019 - 04:54:06 EST


Hi Guys,

The 1st patch implements one simple EWMA based mechanism for detecting IRQ flood.

The 2nd patch adds IRQF_RESCUE_THREAD, and interrupts will be handled in
the created rescue thread in case that IRQ flood comes.

The 3rd patch applies the flag of IRQF_RESCURE_THREAD for NVMe.

The last patch uses irq's affinity in case of IRQF_RESCUE_THREAD.

Please review & comment!

Long, please test and see if your issue can be fixed.

Ming Lei (4):
softirq: implement IRQ flood detection mechanism
genirq: add IRQF_RESCUE_THREAD
nvme: pci: pass IRQF_RESCURE_THREAD to request_threaded_irq
genirq: use irq's affinity for threaded irq with IRQF_RESCUE_THREAD

drivers/base/cpu.c | 25 +++++++++++++++++++++
drivers/nvme/host/pci.c | 17 +++++++++++++--
include/linux/hardirq.h | 2 ++
include/linux/interrupt.h | 6 +++++
kernel/irq/handle.c | 6 ++++-
kernel/irq/manage.c | 25 ++++++++++++++++++++-
kernel/softirq.c | 46 +++++++++++++++++++++++++++++++++++++++
7 files changed, 123 insertions(+), 4 deletions(-)

Cc: Long Li <longli@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>,
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Keith Busch <keith.busch@xxxxxxxxx>
Cc: Jens Axboe <axboe@xxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Sagi Grimberg <sagi@xxxxxxxxxxx>
Cc: John Garry <john.garry@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Hannes Reinecke <hare@xxxxxxxx>
Cc: linux-nvme@xxxxxxxxxxxxxxxxxxx
Cc: linux-scsi@xxxxxxxxxxxxxxx


--
2.20.1