On 2014/9/17 1:47, Thomas Gleixner wrote: > > > On Thu, 11 Sep 2014, Jiang Liu wrote: > >> Cache destination CPU APIC ID into struct irq_cfg when assigning vector >> for interrupt. Upper layer just needs to read the cached APIC ID instead >> of calling apic->cpu_mask_to_apicid_and(), it helps to hide APIC driver >> details from IOAPIC/HPET/MSI drivers.. >> >> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> >> --- >> arch/x86/include/asm/hw_irq.h | 1 + >> arch/x86/kernel/apic/vector.c | 4 ++++ >> 2 files changed, 5 insertions(+) >> >> diff --git a/arch/x86/include/asm/hw_irq.h b/arch/x86/include/asm/hw_irq.h >> index 7624fffc2822..3d51d74d6c01 100644 >> --- a/arch/x86/include/asm/hw_irq.h >> +++ b/arch/x86/include/asm/hw_irq.h >> @@ -116,6 +116,7 @@ struct irq_data; >> struct irq_cfg { >> cpumask_var_t domain; >> cpumask_var_t old_domain; >> + unsigned int dest_apicid; >> u8 vector; >> u8 move_in_progress : 1; >> #ifdef CONFIG_IRQ_REMAP >> diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c >> index 7562cb15b3bd..287ae4e8d500 100644 >> --- a/arch/x86/kernel/apic/vector.c >> +++ b/arch/x86/kernel/apic/vector.c >> @@ -188,6 +188,10 @@ next: >> } >> free_cpumask_var(tmp_mask); > > Lacks a comment what this call is actually doing. How about this? /* cache destination APIC IDs into cfg->dest_apicid */ Regards! Gerry > >> + if (!err) >> + err = apic->cpu_mask_to_apicid_and(mask, cfg->domain, >> + &cfg->dest_apicid); >> + > > Thanks, > > tglx > -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html