From: Feng Wu <feng.wu@intel.com>
To: joro@8bytes.org, dwmw2@infradead.org, tglx@linutronix.de
Cc: jiang.liu@linux.intel.com, iommu@lists.linux-foundation.org,
linux-kernel@vger.kernel.org, Feng Wu <feng.wu@intel.com>
Subject: [v10 06/10] iommu, x86: Avoid migrating VT-d posted interrupts
Date: Tue, 9 Jun 2015 13:20:33 +0800 [thread overview]
Message-ID: <1433827237-3382-7-git-send-email-feng.wu@intel.com> (raw)
In-Reply-To: <1433827237-3382-1-git-send-email-feng.wu@intel.com>
When the interrupt is configured in posted mode, the destination of
the interrupt is set in the Posted-Interrupts Descriptor and the
migration of these interrupts happens during vCPU scheduling.
We still update the cached irte, which will be used when changing back
to remapping mode, but we avoid writing the table entry.
Signed-off-by: Feng Wu <feng.wu@intel.com>
Reviewed-by: Jiang Liu <jiang.liu@linux.intel.com>
Acked-by: David Woodhouse <David.Woodhouse@intel.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Joerg Roedel <joro@8bytes.org>
---
drivers/iommu/intel_irq_remapping.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/iommu/intel_irq_remapping.c b/drivers/iommu/intel_irq_remapping.c
index 68bce0a..3bcb459 100644
--- a/drivers/iommu/intel_irq_remapping.c
+++ b/drivers/iommu/intel_irq_remapping.c
@@ -1003,7 +1003,10 @@ intel_ir_set_affinity(struct irq_data *data, const struct cpumask *mask,
*/
irte->vector = cfg->vector;
irte->dest_id = IRTE_DEST(cfg->dest_apicid);
- modify_irte(&ir_data->irq_2_iommu, irte);
+
+ /* Update the hardware only if the interrupt is in remapped mode. */
+ if (ir_data->irq_2_iommu.mode == IRQ_REMAPPING)
+ modify_irte(&ir_data->irq_2_iommu, irte);
/*
* After this point, all the interrupts will start arriving
--
2.1.0
next prev parent reply other threads:[~2015-06-09 5:32 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-09 5:20 [v10 00/10] Add VT-d Posted-Interrupts support - IOMMU part Feng Wu
2015-06-09 5:20 ` [v10 01/10] iommu: Add new member capability to struct irq_remap_ops Feng Wu
2015-06-12 9:48 ` [tip:x86/apic] " tip-bot for Feng Wu
2015-06-09 5:20 ` [v10 02/10] iommu: dmar: Extend struct irte for VT-d Posted-Interrupts Feng Wu
2015-06-12 9:48 ` [tip:x86/apic] " tip-bot for Thomas Gleixner
2015-06-09 5:20 ` [v10 03/10] iommu: dmar: Provide helper to copy shared irte fields Feng Wu
2015-06-12 9:49 ` [tip:x86/apic] " tip-bot for Thomas Gleixner
2015-06-09 5:20 ` [v10 04/10] iommu, x86: Implement irq_set_vcpu_affinity for intel_ir_chip Feng Wu
2015-06-12 9:49 ` [tip:x86/apic] " tip-bot for Feng Wu
2015-06-09 5:20 ` [v10 05/10] iommu, x86: Save the mode (posted or remapped) of an IRTE Feng Wu
2015-06-12 9:49 ` [tip:x86/apic] " tip-bot for Feng Wu
2015-06-09 5:20 ` Feng Wu [this message]
2015-06-12 9:50 ` [tip:x86/apic] iommu, x86: Avoid migrating VT-d posted interrupts tip-bot for Feng Wu
2015-06-09 5:20 ` [v10 07/10] iommu, x86: Add cap_pi_support() to detect VT-d PI capability Feng Wu
2015-06-12 9:50 ` [tip:x86/apic] " tip-bot for Feng Wu
2015-06-09 5:20 ` [v10 08/10] iommu, x86: Setup Posted-Interrupts capability for Intel iommu Feng Wu
2015-06-12 9:50 ` [tip:x86/apic] " tip-bot for Feng Wu
2015-06-09 5:20 ` [v10 09/10] iommu, x86: Provide irq_remapping_cap() interface Feng Wu
2015-06-12 9:51 ` [tip:x86/apic] " tip-bot for Feng Wu
2015-06-09 5:20 ` [v10 10/10] iommu, x86: Properly handle posted interrupts for IOMMU hotplug Feng Wu
2015-06-12 9:51 ` [tip:x86/apic] " tip-bot for Feng Wu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1433827237-3382-7-git-send-email-feng.wu@intel.com \
--to=feng.wu@intel.com \
--cc=dwmw2@infradead.org \
--cc=iommu@lists.linux-foundation.org \
--cc=jiang.liu@linux.intel.com \
--cc=joro@8bytes.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox