On 20/11/2025 9:06 am, Roger Pau Monne wrote: > All implementations use the same hook which is a wrapper around > cpumask_of(cpu). Adjust callers to no longer use such dummy mask with a > single CPU set, as the CPU is already known to the caller. This removes a > pair of usages of for_each_cpu(). > > No functional change intended. > > Signed-off-by: Roger Pau Monné <[email protected]>
Acked-by: Andrew Cooper <[email protected]>, with one suggestion. > diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c > index 80f7417d2103..7009a3c6d0dd 100644 > --- a/xen/arch/x86/irq.c > +++ b/xen/arch/x86/irq.c > @@ -650,13 +646,12 @@ next: > && test_bit(vector, irq_used_vectors) ) > goto next; > > - if ( cpumask_test_cpu(0, vec_mask) && > + if ( !cpu && > vector >= FIRST_LEGACY_VECTOR && vector <= LAST_LEGACY_VECTOR ) > goto next; > > - for_each_cpu(new_cpu, vec_mask) > - if (per_cpu(vector_irq, new_cpu)[vector] >= 0) > - goto next; > + if ( per_cpu(vector_irq, cpu)[vector] >= 0 ) > + goto next; Please can we have a blank line here for legibility. > /* Found one! */ > current_vector = vector; > current_offset = offset; > @@ -688,12 +683,12 @@ next: > release_old_vec(desc); > } > > - trace_irq_mask(TRC_HW_IRQ_ASSIGN_VECTOR, irq, vector, vec_mask); > + trace_irq_mask(TRC_HW_IRQ_ASSIGN_VECTOR, irq, vector, > cpumask_of(cpu)); This highlights that there's a problem with tracing on large systems, not that there's anything we can really do about it. ~Andrew
