* [PATCH] PCI: vmd: White list for fast interrupt handlers
@ 2018-10-22 19:09 Heitke, Kenneth
2018-11-11 1:29 ` Greg KH
0 siblings, 1 reply; 2+ messages in thread
From: Heitke, Kenneth @ 2018-10-22 19:09 UTC (permalink / raw)
To: stable@vger.kernel.org
Please apply the follow patch from kernel 4.18 to kernel 4.14
Commit: a7f58b9ecfd3c0f63703ec10f4a592cc38dbd1b8
This patch fixes a performance issue with some devices being accessed using
the Volume Management Device (vmd). I have included an updated copy of the
patch because the parent directory of the file has changed between the 4.14
and 4.18 releases
4.14: drivers/pci/host/vmd.c
4.18: drivers/pci/controller/vmd.c
Thank you,
Kenneth Heitke <Kenneth.heitke@intel.com>
---
From: Keith Busch <keith.busch@intel.com>
Date: Tue, 8 May 2018 10:00:22 -0600
Subject: [PATCH] PCI: vmd: White list for fast interrupt handlers
Devices with slow interrupt handlers are significantly harming
performance when their interrupt vector is shared with a fast device.
Create a class code white list for devices with known fast interrupt
handlers and let all other devices share a single vector so that they
don't interfere with performance.
At the moment, only the NVM Express class code is on the list, but more
may be added if VMD users desire to use other low-latency devices in
these domains.
Signed-off-by: Keith Busch <keith.busch@intel.com>
[lorenzo.pieralisi@arm.com: changelog]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Jon Derrick: <jonathan.derrick@intel.com>
---
drivers/pci/host/vmd.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/host/vmd.c b/drivers/pci/host/vmd.c
index 509893b..2537b02 100644
--- a/drivers/pci/host/vmd.c
+++ b/drivers/pci/host/vmd.c
@@ -183,9 +183,20 @@ static struct vmd_irq_list *vmd_next_irq(struct vmd_dev *vmd, struct msi_desc *d
int i, best = 1;
unsigned long flags;
- if (pci_is_bridge(msi_desc_to_pci_dev(desc)) || vmd->msix_count == 1)
+ if (vmd->msix_count == 1)
return &vmd->irqs[0];
+ /*
+ * White list for fast-interrupt handlers. All others will share the
+ * "slow" interrupt vector.
+ */
+ switch (msi_desc_to_pci_dev(desc)->class) {
+ case PCI_CLASS_STORAGE_EXPRESS:
+ break;
+ default:
+ return &vmd->irqs[0];
+ }
+
raw_spin_lock_irqsave(&list_lock, flags);
for (i = 1; i < vmd->msix_count; i++)
if (vmd->irqs[i].count < vmd->irqs[best].count)
--
2.7.4
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] PCI: vmd: White list for fast interrupt handlers
2018-10-22 19:09 [PATCH] PCI: vmd: White list for fast interrupt handlers Heitke, Kenneth
@ 2018-11-11 1:29 ` Greg KH
0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2018-11-11 1:29 UTC (permalink / raw)
To: Heitke, Kenneth; +Cc: stable@vger.kernel.org
On Mon, Oct 22, 2018 at 07:09:37PM +0000, Heitke, Kenneth wrote:
> Please apply the follow patch from kernel 4.18 to kernel 4.14
>
> Commit: a7f58b9ecfd3c0f63703ec10f4a592cc38dbd1b8
>
> This patch fixes a performance issue with some devices being accessed using
> the Volume Management Device (vmd). I have included an updated copy of the
> patch because the parent directory of the file has changed between the 4.14
> and 4.18 releases
>
> 4.14: drivers/pci/host/vmd.c
> 4.18: drivers/pci/controller/vmd.c
>
> Thank you,
> Kenneth Heitke <Kenneth.heitke@intel.com>
Now queued up, thanks.
greg k-h
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-11-11 13:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-22 19:09 [PATCH] PCI: vmd: White list for fast interrupt handlers Heitke, Kenneth
2018-11-11 1:29 ` Greg KH
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.