[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86/apic/x2apic: Share IRQ vector between cluster members only when no cpumask is specified



>>> Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> 08/07/17 5:06 PM >>>
>>>>> --- a/xen/include/asm-x86/mach-generic/mach_apic.h
>>>>> +++ b/xen/include/asm-x86/mach-generic/mach_apic.h
>>>>> @@ -13,10 +13,11 @@
>>>>> #define INT_DELIVERY_MODE (genapic->int_delivery_mode)
>>>>> #define INT_DEST_MODE (genapic->int_dest_mode)
>>>>> #define TARGET_CPUS      (genapic->target_cpus())
>>>>> -#define init_apic_ldr (genapic->init_apic_ldr)
>>>>> -#define clustered_apic_check (genapic->clustered_apic_check) 
>>>>> -#define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid)
>>>>> -#define vector_allocation_cpumask(cpu) 
>>>>> (genapic->vector_allocation_cpumask(cpu))
>>>>> +#define INIT_APIC_LDR (genapic->init_apic_ldr)
>>>>> +#define CLUSTERED_APIC_CHECK (genapic->clustered_apic_check) 
>>>>> +#define CPU_MASK_TO_APICID (genapic->cpu_mask_to_apicid)
>>>>> +#define VECTOR_ALLOCATION_CPUMASK(cpu, mask) \
>>>>> +    (genapic->vector_allocation_cpumask(cpu, mask))
>>>>  
>>>> I don't see the connection of the change in case of all of these to the 
>>>> purpose
>>>> of this patch.
>>> I need to include asm-x86/mach-generic/mach_apic.h in x2apic.c and
>> That's solely because of the use of TARGET_CPUS, isn't it? With the above
>> comment in mind, this could equally well be &cpu_online_map I think, making
>> explicit what is implicit right now.
>
>Yes, but it it won't prevent a caller from explicitly passing
>&cpu_online_map neither.

Right, but hence the suggestion to explicitly compare with &cpu_online_map.

>How about allowing assign_irq_vector() pass NULL mask to
>__assign_irq_vector() (I think this is the only place where it matters)?
>__assign_irq_vector() can then turn it into TARGET_CPUS and pass NULL to
>vector_allocation_cpumask().

That ought to be workable afaics.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.