[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1603888387-52499-1-git-send-email-john.garry@huawei.com>
Date: Wed, 28 Oct 2020 20:33:04 +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 v2 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.
[0] https://lore.kernel.org/lkml/84a9411b-4ae3-1928-3d35-1666f2687ec8@huawei.com/
Changes since v1:
- Update authorship on genirq change
John Garry (3):
genirq/affinity: Add irq_update_affinity_desc()
Driver core: platform: Add platform_get_irqs_affinity()
scsi: hisi_sas: Expose HW queues for v2 hw
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