Re: x86_64 Question: Are concurrent IPI requests safe?

From: Thomas Gleixner
Date: Mon May 09 2016 - 12:56:14 EST


On Mon, 9 May 2016, Tetsuo Handa wrote:
>
> It seems to me that APIC_BASE APIC_ICR APIC_ICR_BUSY are all constant
> regardless of calling cpu. Thus, native_apic_mem_read() and
> native_apic_mem_write() are using globally shared constant memory
> address and __xapic_wait_icr_idle() is making decision based on
> globally shared constant memory address. Am I right?

No. The APIC address space is per cpu. It's the same address but it's always
accessing the local APIC of the cpu on which it is called.

Thanks,

tglx