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

Reply via email to