[PATCH] arm64/irq: use NMI to send stop IPI

Marc Zyngier maz at kernel.org
Mon Dec 14 08:24:30 EST 2020


On 2020-12-14 13:04, Pingfan Liu wrote:
> On Mon, Dec 14, 2020 at 5:46 PM Marc Zyngier <maz at kernel.org> wrote:
>> 
>> On 2020-12-14 02:20, Pingfan Liu wrote:
>> 
>> [...]
>> 
>> > After serval days of chasing this issue, I have a raw idea about it.
>> > What about re-structure the code like
>> > DEFINE_IDTENTRY_SYSVEC_SIMPLE(sysvec_reschedule_ipi) ?
>> 
>> I'm not sure how you want to mimic what x86 does, given that we have
>> at least three different root interrupt controllers on arm64 (plus
>> a fourth coming up), all of which have access methods that are not
>> part of the CPU architecture, and that are shared with the 32bit
>> part.
>> 
> I just found that Mark had implemented enter_el1_irq_or_nmi() for
> arm64, and think it is another way to handle the problem.
> 
> I had thought if aligned to x86, then linux/kernel/entry/common.c can
> be used. It may bring benefits, e.g. shift off the rcu/lockdep/dyntick
> to core kernel.

Using the entry/common.c stuff is indeed what we are planning to do,
but the current arm64 code doesn't lend itself to that just yet,

> 
> Anyway, I am a new beginner at this. If my opinion is not good enough,
> please just ignore it.
>> > I will send a series soon afterward.
>> 
>> Please wait until the merge window is over.
>> 
> Sorry that it has been sent out before your reply. If there is V2, I
> will do it after the merge window.

Please look at the series I pointed you too (and its follow-up), which
has most of what you are trying to achieve already.

Thanks,

         M.
-- 
Jazz is not dead. It just smells funny...



More information about the linux-arm-kernel mailing list