[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1603800624-180488-1-git-send-email-john.garry@huawei.com>
Date: Tue, 27 Oct 2020 20:10:21 +0800
From: John Garry <john.garry@...wei.com>
To: <gregkh@...uxfoundation.org>, <rafael@...nel.org>,
<martin.petersen@...cle.com>, <jejb@...ux.ibm.com>,
<tglx@...utronix.de>
CC: <linuxarm@...wei.com>, <linux-scsi@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <maz@...nel.org>,
John Garry <john.garry@...wei.com>
Subject: [PATCH 0/3] Support managed interrupts for platform devices
So far, managed interrupts are only used for PCI MSIs. This series add
platform device support for managed interrupts. Initially this topic was
discussed at [0].
The method to enable managed interrupts is to allocate all the IRQs for
the device, and then switch the interrupts to managed - this is done
through new function irq_update_affinity_desc().
API platform_get_irqs_affinity() is added as a helper to manage this work,
such that we don't need to export irq_update_affinity_desc() or
irq_create_affinity_masks().
For now, the HiSilicon SAS v2 hw driver is switched over. This is used
in the D05 dev board.
Performance gain observed for 6x SAS SSDs is ~357K -> 420K IOPs for fio read.
I hope - all going well - this series can go through the SCSI tree, since
the non-SCSI changes are additive, thanks!
[0] https://lore.kernel.org/lkml/84a9411b-4ae3-1928-3d35-1666f2687ec8@huawei.com/
John Garry (2):
Driver core: platform: Add platform_get_irqs_affinity()
scsi: hisi_sas: Expose HW queues for v2 hw
Thomas Gleixner (1):
genirq/affinity: Add irq_update_affinity_desc()
drivers/base/platform.c | 58 +++++++++++++++++++++
drivers/scsi/hisi_sas/hisi_sas.h | 4 ++
drivers/scsi/hisi_sas/hisi_sas_main.c | 11 ++++
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 71 ++++++++++++++++++++++----
include/linux/interrupt.h | 8 +++
include/linux/platform_device.h | 5 ++
kernel/irq/manage.c | 19 +++++++
7 files changed, 165 insertions(+), 11 deletions(-)
--
2.26.2
Powered by blists - more mailing lists