From: "Jan Beulich" <JBeulich@suse.com> To: Roger Pau Monne <roger.pau@citrix.com> Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wei.liu2@citrix.com>, xen-devel <xen-devel@lists.xenproject.org>, Igor Druzhinin <igor.druzhinin@citrix.com> Subject: Re: [PATCH v1b 1/9] x86/IRQ: deal with move-in-progress state in fixup_irqs() Date: Fri, 03 May 2019 08:10:37 -0600 [thread overview] Message-ID: <5CCC4BDD020000780022BA05@prv1-mh.provo.novell.com> (raw) In-Reply-To: <20190503091905.2levs75dxln4rhiw@Air-de-Roger> >>> On 03.05.19 at 11:19, <roger.pau@citrix.com> wrote: > On Mon, Apr 29, 2019 at 09:40:14AM -0600, Jan Beulich wrote: >> --- unstable.orig/xen/arch/x86/irq.c >> +++ unstable/xen/arch/x86/irq.c >> @@ -242,6 +242,20 @@ void destroy_irq(unsigned int irq) >> xfree(action); >> } >> >> +static void release_old_vec(struct irq_desc *desc) >> +{ >> + unsigned int vector = desc->arch.old_vector; >> + >> + desc->arch.old_vector = IRQ_VECTOR_UNASSIGNED; >> + cpumask_clear(desc->arch.old_cpu_mask); >> + >> + if ( desc->arch.used_vectors ) > > Wouldn't it be better to clean the bitmap when vector != > IRQ_VECTOR_UNASSIGNED? No code path does / should call into here without the need to actually release the previous vector. > I haven't checked all the callers, but I don't think it's valid to > call release_old_vec with desc->arch.old_vector == > IRQ_VECTOR_UNASSIGNED, in which case I would add an ASSERT. Well, yes, I probably could. However, as much as I'm in favor of ASSERT()s, I don't think it makes sense to ASSERT() basically every bit of expected state. In the end there would otherwise be more ASSERT()s than actual code. >> + { >> + ASSERT(test_bit(vector, desc->arch.used_vectors)); >> + clear_bit(vector, desc->arch.used_vectors); >> + } >> +} >> + >> static void __clear_irq_vector(int irq) >> { >> int cpu, vector, old_vector; >> @@ -285,14 +299,7 @@ static void __clear_irq_vector(int irq) > > Kind of unrelated, but I think the check at the top of > __clear_irq_vector should be: > > BUG_ON(desc->arch.vector == IRQ_VECTOR_UNASSIGNED); > > Rather than the current: > > BUG_ON(!desc->arch.vector); > > There's a lot of logic that would go extremely wrong if vector is -1. Yes indeed. Do you want to send a patch, or should I add one at the end of this series? >> per_cpu(vector_irq, cpu)[old_vector] = ~irq; >> } >> >> - desc->arch.old_vector = IRQ_VECTOR_UNASSIGNED; >> - cpumask_clear(desc->arch.old_cpu_mask); >> - >> - if ( desc->arch.used_vectors ) >> - { >> - ASSERT(test_bit(old_vector, desc->arch.used_vectors)); >> - clear_bit(old_vector, desc->arch.used_vectors); >> - } >> + release_old_vec(desc); >> >> desc->arch.move_in_progress = 0; > > While there it might be nice to convert move_in_progress to a boolean. This would grow the patch quite a bit I think, so I prefer no to. >> @@ -2409,15 +2446,18 @@ void fixup_irqs(const cpumask_t *mask, b >> if ( desc->handler->enable ) >> desc->handler->enable(desc); >> >> + cpumask_copy(&affinity, desc->affinity); >> + >> spin_unlock(&desc->lock); >> >> if ( !verbose ) >> continue; >> >> - if ( break_affinity && set_affinity ) >> - printk("Broke affinity for irq %i\n", irq); >> - else if ( !set_affinity ) >> - printk("Cannot set affinity for irq %i\n", irq); >> + if ( !set_affinity ) >> + printk("Cannot set affinity for IRQ%u\n", irq); >> + else if ( break_affinity ) >> + printk("Broke affinity for IRQ%u, new: %*pb\n", >> + irq, nr_cpu_ids, &affinity); > > I guess it's fine to have those without rate-limiting because > fixup_irqs is only called for admin-triggered actions, so there's no > risk of console flooding. Right, plus I'd rather not hide any of these messages: Them being there was already a good indication that something _might_ be going wrong. If we got to the point where we're fully confident in the code, then we could think about lowering their log level, or rate limiting them. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
WARNING: multiple messages have this Message-ID (diff)
From: "Jan Beulich" <JBeulich@suse.com> To: "Roger Pau Monne" <roger.pau@citrix.com> Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wei.liu2@citrix.com>, xen-devel <xen-devel@lists.xenproject.org>, Igor Druzhinin <igor.druzhinin@citrix.com> Subject: Re: [Xen-devel] [PATCH v1b 1/9] x86/IRQ: deal with move-in-progress state in fixup_irqs() Date: Fri, 03 May 2019 08:10:37 -0600 [thread overview] Message-ID: <5CCC4BDD020000780022BA05@prv1-mh.provo.novell.com> (raw) Message-ID: <20190503141037.MVshWHlow74KN__nxo3OHnlyLhUVfg8eRjWOWOSZK_4@z> (raw) In-Reply-To: <20190503091905.2levs75dxln4rhiw@Air-de-Roger> >>> On 03.05.19 at 11:19, <roger.pau@citrix.com> wrote: > On Mon, Apr 29, 2019 at 09:40:14AM -0600, Jan Beulich wrote: >> --- unstable.orig/xen/arch/x86/irq.c >> +++ unstable/xen/arch/x86/irq.c >> @@ -242,6 +242,20 @@ void destroy_irq(unsigned int irq) >> xfree(action); >> } >> >> +static void release_old_vec(struct irq_desc *desc) >> +{ >> + unsigned int vector = desc->arch.old_vector; >> + >> + desc->arch.old_vector = IRQ_VECTOR_UNASSIGNED; >> + cpumask_clear(desc->arch.old_cpu_mask); >> + >> + if ( desc->arch.used_vectors ) > > Wouldn't it be better to clean the bitmap when vector != > IRQ_VECTOR_UNASSIGNED? No code path does / should call into here without the need to actually release the previous vector. > I haven't checked all the callers, but I don't think it's valid to > call release_old_vec with desc->arch.old_vector == > IRQ_VECTOR_UNASSIGNED, in which case I would add an ASSERT. Well, yes, I probably could. However, as much as I'm in favor of ASSERT()s, I don't think it makes sense to ASSERT() basically every bit of expected state. In the end there would otherwise be more ASSERT()s than actual code. >> + { >> + ASSERT(test_bit(vector, desc->arch.used_vectors)); >> + clear_bit(vector, desc->arch.used_vectors); >> + } >> +} >> + >> static void __clear_irq_vector(int irq) >> { >> int cpu, vector, old_vector; >> @@ -285,14 +299,7 @@ static void __clear_irq_vector(int irq) > > Kind of unrelated, but I think the check at the top of > __clear_irq_vector should be: > > BUG_ON(desc->arch.vector == IRQ_VECTOR_UNASSIGNED); > > Rather than the current: > > BUG_ON(!desc->arch.vector); > > There's a lot of logic that would go extremely wrong if vector is -1. Yes indeed. Do you want to send a patch, or should I add one at the end of this series? >> per_cpu(vector_irq, cpu)[old_vector] = ~irq; >> } >> >> - desc->arch.old_vector = IRQ_VECTOR_UNASSIGNED; >> - cpumask_clear(desc->arch.old_cpu_mask); >> - >> - if ( desc->arch.used_vectors ) >> - { >> - ASSERT(test_bit(old_vector, desc->arch.used_vectors)); >> - clear_bit(old_vector, desc->arch.used_vectors); >> - } >> + release_old_vec(desc); >> >> desc->arch.move_in_progress = 0; > > While there it might be nice to convert move_in_progress to a boolean. This would grow the patch quite a bit I think, so I prefer no to. >> @@ -2409,15 +2446,18 @@ void fixup_irqs(const cpumask_t *mask, b >> if ( desc->handler->enable ) >> desc->handler->enable(desc); >> >> + cpumask_copy(&affinity, desc->affinity); >> + >> spin_unlock(&desc->lock); >> >> if ( !verbose ) >> continue; >> >> - if ( break_affinity && set_affinity ) >> - printk("Broke affinity for irq %i\n", irq); >> - else if ( !set_affinity ) >> - printk("Cannot set affinity for irq %i\n", irq); >> + if ( !set_affinity ) >> + printk("Cannot set affinity for IRQ%u\n", irq); >> + else if ( break_affinity ) >> + printk("Broke affinity for IRQ%u, new: %*pb\n", >> + irq, nr_cpu_ids, &affinity); > > I guess it's fine to have those without rate-limiting because > fixup_irqs is only called for admin-triggered actions, so there's no > risk of console flooding. Right, plus I'd rather not hide any of these messages: Them being there was already a good indication that something _might_ be going wrong. If we got to the point where we're fully confident in the code, then we could think about lowering their log level, or rate limiting them. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2019-05-03 14:10 UTC|newest] Thread overview: 196+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-04-29 11:16 [PATCH 0/9] x86: IRQ management adjustments Jan Beulich 2019-04-29 11:16 ` [Xen-devel] " Jan Beulich 2019-04-29 11:22 ` [PATCH RFC 1/9] x86/IRQ: deal with move-in-progress state in fixup_irqs() Jan Beulich 2019-04-29 11:22 ` [Xen-devel] " Jan Beulich 2019-04-29 12:55 ` Jan Beulich 2019-04-29 12:55 ` [Xen-devel] " Jan Beulich 2019-04-29 13:08 ` Jan Beulich 2019-04-29 13:08 ` [Xen-devel] " Jan Beulich 2019-04-29 11:23 ` [PATCH 2/9] x86/IRQ: deal with move cleanup count " Jan Beulich 2019-04-29 11:23 ` [Xen-devel] " Jan Beulich 2019-05-03 15:21 ` Roger Pau Monné 2019-05-03 15:21 ` [Xen-devel] " Roger Pau Monné 2019-05-06 7:44 ` Jan Beulich 2019-05-06 7:44 ` [Xen-devel] " Jan Beulich 2019-05-07 7:28 ` Jan Beulich 2019-05-07 7:28 ` [Xen-devel] " Jan Beulich 2019-05-07 8:12 ` Roger Pau Monné 2019-05-07 8:12 ` [Xen-devel] " Roger Pau Monné 2019-05-07 9:28 ` Jan Beulich 2019-05-07 9:28 ` [Xen-devel] " Jan Beulich 2019-04-29 11:23 ` [PATCH 3/9] x86/IRQ: improve dump_irqs() Jan Beulich 2019-04-29 11:23 ` [Xen-devel] " Jan Beulich 2019-05-03 15:43 ` Roger Pau Monné 2019-05-03 15:43 ` [Xen-devel] " Roger Pau Monné 2019-05-06 8:06 ` Jan Beulich 2019-05-06 8:06 ` [Xen-devel] " Jan Beulich 2019-04-29 11:24 ` [PATCH 4/9] x86/IRQ: desc->affinity should strictly represent the requested value Jan Beulich 2019-04-29 11:24 ` [Xen-devel] " Jan Beulich 2019-05-03 16:21 ` Roger Pau Monné 2019-05-03 16:21 ` [Xen-devel] " Roger Pau Monné 2019-05-06 8:14 ` Jan Beulich 2019-05-06 8:14 ` [Xen-devel] " Jan Beulich 2019-04-29 11:25 ` [PATCH 5/9] x86/IRQ: fix locking around vector management Jan Beulich 2019-04-29 11:25 ` [Xen-devel] " Jan Beulich 2019-05-06 11:48 ` Roger Pau Monné 2019-05-06 11:48 ` [Xen-devel] " Roger Pau Monné 2019-05-06 13:06 ` Jan Beulich 2019-05-06 13:06 ` [Xen-devel] " Jan Beulich 2019-04-29 11:25 ` [PATCH 6/9] x86/IRQ: reduce unused space in struct arch_irq_desc Jan Beulich 2019-04-29 11:25 ` [Xen-devel] " Jan Beulich 2019-04-29 11:46 ` Andrew Cooper 2019-04-29 11:46 ` [Xen-devel] " Andrew Cooper 2019-04-29 11:26 ` [PATCH 7/9] x86/IRQ: drop redundant cpumask_empty() from move_masked_irq() Jan Beulich 2019-04-29 11:26 ` [Xen-devel] " Jan Beulich 2019-05-06 13:39 ` Roger Pau Monné 2019-05-06 13:39 ` [Xen-devel] " Roger Pau Monné 2019-04-29 11:26 ` [PATCH 8/9] x86/IRQ: make fixup_irqs() skip unconnected internally used interrupts Jan Beulich 2019-04-29 11:26 ` [Xen-devel] " Jan Beulich 2019-05-06 13:52 ` Roger Pau Monné 2019-05-06 13:52 ` [Xen-devel] " Roger Pau Monné 2019-05-06 14:25 ` Jan Beulich 2019-05-06 14:25 ` [Xen-devel] " Jan Beulich 2019-05-06 14:37 ` Roger Pau Monné 2019-05-06 14:37 ` [Xen-devel] " Roger Pau Monné 2019-04-29 11:27 ` [PATCH 9/9] x86/IO-APIC: drop an unused variable from setup_IO_APIC_irqs() Jan Beulich 2019-04-29 11:27 ` [Xen-devel] " Jan Beulich 2019-04-29 11:40 ` Andrew Cooper 2019-04-29 11:40 ` [Xen-devel] " Andrew Cooper 2019-04-29 15:40 ` [PATCH v1b 1/9] x86/IRQ: deal with move-in-progress state in fixup_irqs() Jan Beulich 2019-04-29 15:40 ` [Xen-devel] " Jan Beulich 2019-05-03 9:19 ` Roger Pau Monné 2019-05-03 9:19 ` [Xen-devel] " Roger Pau Monné 2019-05-03 14:10 ` Jan Beulich [this message] 2019-05-03 14:10 ` Jan Beulich 2019-05-06 7:15 ` Jan Beulich 2019-05-06 7:15 ` [Xen-devel] " Jan Beulich 2019-05-06 14:28 ` Roger Pau Monné 2019-05-06 14:28 ` [Xen-devel] " Roger Pau Monné 2019-05-06 15:00 ` Jan Beulich 2019-05-06 15:00 ` [Xen-devel] " Jan Beulich 2019-05-08 12:59 ` [PATCH v2 00/12] x86: IRQ management adjustments Jan Beulich 2019-05-08 12:59 ` [Xen-devel] " Jan Beulich 2019-05-08 13:03 ` [PATCH v2 01/12] x86/IRQ: deal with move-in-progress state in fixup_irqs() Jan Beulich 2019-05-08 13:03 ` [Xen-devel] " Jan Beulich 2019-05-13 9:04 ` Roger Pau Monné 2019-05-13 9:04 ` [Xen-devel] " Roger Pau Monné 2019-05-13 9:09 ` Jan Beulich 2019-05-13 9:09 ` [Xen-devel] " Jan Beulich 2019-05-08 13:03 ` [PATCH v2 02/12] x86/IRQ: deal with move cleanup count " Jan Beulich 2019-05-08 13:03 ` [Xen-devel] " Jan Beulich 2019-05-08 13:07 ` [PATCH v2 03/12] x86/IRQ: avoid UB (or worse) in trace_irq_mask() Jan Beulich 2019-05-08 13:07 ` [Xen-devel] " Jan Beulich 2019-05-13 9:08 ` Roger Pau Monné 2019-05-13 9:08 ` [Xen-devel] " Roger Pau Monné 2019-05-13 10:42 ` George Dunlap 2019-05-13 10:42 ` [Xen-devel] " George Dunlap 2019-05-13 12:05 ` Jan Beulich 2019-05-13 12:05 ` [Xen-devel] " Jan Beulich 2019-05-08 13:08 ` [PATCH v2 04/12] x86/IRQ: improve dump_irqs() Jan Beulich 2019-05-08 13:08 ` [Xen-devel] " Jan Beulich 2019-05-08 13:09 ` [PATCH v2 05/12] x86/IRQ: desc->affinity should strictly represent the requested value Jan Beulich 2019-05-08 13:09 ` [Xen-devel] " Jan Beulich 2019-05-08 13:10 ` [PATCH v2 06/12] x86/IRQ: consolidate use of ->arch.cpu_mask Jan Beulich 2019-05-08 13:10 ` [Xen-devel] " Jan Beulich 2019-05-13 11:32 ` Roger Pau Monné 2019-05-13 11:32 ` [Xen-devel] " Roger Pau Monné 2019-05-13 15:21 ` Jan Beulich 2019-05-13 15:21 ` [Xen-devel] " Jan Beulich 2019-05-08 13:10 ` [PATCH v2 07/12] x86/IRQ: fix locking around vector management Jan Beulich 2019-05-08 13:10 ` [Xen-devel] " Jan Beulich 2019-05-08 13:16 ` Jan Beulich 2019-05-08 13:16 ` [Xen-devel] " Jan Beulich 2019-05-11 0:11 ` Tian, Kevin 2019-05-11 0:11 ` [Xen-devel] " Tian, Kevin 2019-05-13 13:48 ` Roger Pau Monné 2019-05-13 13:48 ` [Xen-devel] " Roger Pau Monné 2019-05-13 14:19 ` Jan Beulich 2019-05-13 14:19 ` [Xen-devel] " Jan Beulich 2019-05-13 14:45 ` Roger Pau Monné 2019-05-13 14:45 ` [Xen-devel] " Roger Pau Monné 2019-05-13 15:05 ` Jan Beulich 2019-05-13 15:05 ` [Xen-devel] " Jan Beulich 2019-05-08 13:11 ` [PATCH v2 08/12] x86/IRQs: correct/tighten vector check in _clear_irq_vector() Jan Beulich 2019-05-08 13:11 ` [Xen-devel] " Jan Beulich 2019-05-13 14:01 ` Roger Pau Monné 2019-05-13 14:01 ` [Xen-devel] " Roger Pau Monné 2019-05-08 13:12 ` [PATCH v2 09/12] x86/IRQ: make fixup_irqs() skip unconnected internally used interrupts Jan Beulich 2019-05-08 13:12 ` [Xen-devel] " Jan Beulich 2019-05-08 13:13 ` [PATCH v2 10/12] x86/IRQ: reduce unused space in struct arch_irq_desc Jan Beulich 2019-05-08 13:13 ` [Xen-devel] " Jan Beulich 2019-05-08 13:13 ` [PATCH v2 11/12] x86/IRQ: drop redundant cpumask_empty() from move_masked_irq() Jan Beulich 2019-05-08 13:13 ` [Xen-devel] " Jan Beulich 2019-05-08 13:14 ` [PATCH v2 12/12] x86/IRQ: simplify and rename pirq_acktype() Jan Beulich 2019-05-08 13:14 ` [Xen-devel] " Jan Beulich 2019-05-13 14:14 ` Roger Pau Monné 2019-05-13 14:14 ` [Xen-devel] " Roger Pau Monné 2019-05-17 10:39 ` [PATCH v3 00/15] x86: IRQ management adjustments Jan Beulich 2019-05-17 10:39 ` [Xen-devel] " Jan Beulich 2019-05-17 10:44 ` [PATCH v3 01/15] x86/IRQ: deal with move-in-progress state in fixup_irqs() Jan Beulich 2019-05-17 10:44 ` [Xen-devel] " Jan Beulich 2019-07-03 15:39 ` Andrew Cooper 2019-07-04 9:32 ` Jan Beulich 2019-05-17 10:45 ` [PATCH v3 02/15] x86/IRQ: deal with move cleanup count " Jan Beulich 2019-05-17 10:45 ` [Xen-devel] " Jan Beulich 2019-07-03 16:32 ` Andrew Cooper 2019-05-17 10:46 ` [PATCH v3 03/15] x86/IRQ: improve dump_irqs() Jan Beulich 2019-05-17 10:46 ` [Xen-devel] " Jan Beulich 2019-07-03 16:39 ` Andrew Cooper 2019-05-17 10:46 ` [PATCH v3 04/15] x86/IRQ: desc->affinity should strictly represent the requested value Jan Beulich 2019-05-17 10:46 ` [Xen-devel] " Jan Beulich 2019-07-03 17:58 ` Andrew Cooper 2019-07-04 9:37 ` Jan Beulich 2019-05-17 10:47 ` [PATCH v3 05/15] x86/IRQ: consolidate use of ->arch.cpu_mask Jan Beulich 2019-05-17 10:47 ` [Xen-devel] " Jan Beulich 2019-07-03 18:07 ` Andrew Cooper 2019-05-17 10:47 ` [PATCH v3 06/15] x86/IRQ: fix locking around vector management Jan Beulich 2019-05-17 10:47 ` [Xen-devel] " Jan Beulich 2019-07-03 18:23 ` Andrew Cooper 2019-07-04 9:54 ` Jan Beulich 2019-05-17 10:48 ` [PATCH v3 07/15] x86/IRQ: target online CPUs when binding guest IRQ Jan Beulich 2019-05-17 10:48 ` [Xen-devel] " Jan Beulich 2019-05-20 11:40 ` Roger Pau Monné 2019-05-20 11:40 ` [Xen-devel] " Roger Pau Monné 2019-05-20 15:17 ` Jan Beulich 2019-05-20 15:17 ` [Xen-devel] " Jan Beulich 2019-05-22 9:41 ` Roger Pau Monné 2019-05-22 9:41 ` [Xen-devel] " Roger Pau Monné 2019-07-03 18:30 ` Andrew Cooper 2019-05-17 10:49 ` [PATCH v3 08/15] x86/IRQs: correct/tighten vector check in _clear_irq_vector() Jan Beulich 2019-05-17 10:49 ` [Xen-devel] " Jan Beulich 2019-07-03 18:31 ` Andrew Cooper 2019-05-17 10:49 ` [PATCH v3 09/15] x86/IRQ: make fixup_irqs() skip unconnected internally used interrupts Jan Beulich 2019-05-17 10:49 ` [Xen-devel] " Jan Beulich 2019-07-03 18:36 ` Andrew Cooper 2019-05-17 10:50 ` [PATCH v3 10/15] x86/IRQ: drop redundant cpumask_empty() from move_masked_irq() Jan Beulich 2019-05-17 10:50 ` [Xen-devel] " Jan Beulich 2019-07-03 18:38 ` Andrew Cooper 2019-05-17 10:51 ` [PATCH v3 11/15] x86/IRQ: simplify and rename pirq_acktype() Jan Beulich 2019-05-17 10:51 ` [Xen-devel] " Jan Beulich 2019-07-03 18:39 ` Andrew Cooper 2019-05-17 10:51 ` [PATCH v3 12/15] x86/IRQ: add explicit tracing-enabled check to trace_irq_mask() Jan Beulich 2019-05-17 10:51 ` [Xen-devel] " Jan Beulich 2019-05-20 11:46 ` Roger Pau Monné 2019-05-20 11:46 ` [Xen-devel] " Roger Pau Monné 2019-07-03 18:41 ` Andrew Cooper 2019-07-04 10:01 ` Jan Beulich 2019-05-17 10:52 ` [PATCH v3 13/15] x86/IRQ: tighten vector checks Jan Beulich 2019-05-17 10:52 ` [Xen-devel] " Jan Beulich 2019-05-20 14:04 ` Roger Pau Monné 2019-05-20 14:04 ` [Xen-devel] " Roger Pau Monné 2019-05-20 15:26 ` Jan Beulich 2019-05-20 15:26 ` [Xen-devel] " Jan Beulich 2019-05-22 16:42 ` Roger Pau Monné 2019-05-22 16:42 ` [Xen-devel] " Roger Pau Monné 2019-05-23 8:36 ` Jan Beulich 2019-05-23 8:36 ` [Xen-devel] " Jan Beulich 2019-07-03 18:42 ` Andrew Cooper 2019-05-17 10:52 ` [PATCH v3 14/15] x86/IRQ: eliminate some on-stack cpumask_t instances Jan Beulich 2019-05-17 10:52 ` [Xen-devel] " Jan Beulich 2019-05-20 14:22 ` Roger Pau Monné 2019-05-20 14:22 ` [Xen-devel] " Roger Pau Monné 2019-07-03 18:44 ` Andrew Cooper 2019-07-04 10:04 ` Jan Beulich 2019-05-17 10:53 ` [PATCH v3 15/15] x86/IRQ: move {,_}clear_irq_vector() Jan Beulich 2019-05-17 10:53 ` [Xen-devel] " Jan Beulich 2019-07-03 18:45 ` [Xen-devel] [PATCH v3 15/15] x86/IRQ: move {, _}clear_irq_vector() Andrew Cooper
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=5CCC4BDD020000780022BA05@prv1-mh.provo.novell.com \ --to=jbeulich@suse.com \ --cc=andrew.cooper3@citrix.com \ --cc=igor.druzhinin@citrix.com \ --cc=roger.pau@citrix.com \ --cc=wei.liu2@citrix.com \ --cc=xen-devel@lists.xenproject.org \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.