|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen staging] x86/IRQ: make fixup_irqs() skip unconnected internally used interrupts
commit d2679f9834142d66af9dbadfa40d615128d9404f
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Mon Jul 22 11:45:58 2019 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Jul 22 11:45:58 2019 +0200
x86/IRQ: make fixup_irqs() skip unconnected internally used interrupts
Since the "Cannot set affinity ..." warning is a one time one, avoid
triggering it already at boot time when parking secondary threads and
the serial console uses a (still unconnected at that time) PCI IRQ.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
xen/arch/x86/irq.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index f5e31a1c9b..abd773f35d 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -2464,8 +2464,20 @@ void fixup_irqs(const cpumask_t *mask, bool verbose)
vector = irq_to_vector(irq);
if ( vector >= FIRST_HIPRIORITY_VECTOR &&
vector <= LAST_HIPRIORITY_VECTOR )
+ {
cpumask_and(desc->arch.cpu_mask, desc->arch.cpu_mask, mask);
+ /*
+ * This can in particular happen when parking secondary threads
+ * during boot and when the serial console wants to use a PCI IRQ.
+ */
+ if ( desc->handler == &no_irq_type )
+ {
+ spin_unlock(&desc->lock);
+ continue;
+ }
+ }
+
if ( desc->arch.move_cleanup_count )
{
/* The cleanup IPI may have got sent while we were still online. */
--
generated by git-patchbot for /home/xen/git/xen.git#staging
_______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |