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