Unfair qspinlocks on ARM64 without LSE atomics => 3ms delay in interrupt handling
Bouska, Zdenek
zdenek.bouska at siemens.com
Tue Mar 28 02:39:38 PDT 2023
> > A longer cpu_relax() here would improve things (on arm64 this function
> > is a no-op) but maybe Thomas or Will have a better idea.
>
> I had a pretty gross cpu_relax() implementation using wfe somewhere on
> LKML, so you could try that if you can dig it up.
Do you mean cpu_relax() implementation from this email [1] from
Fri, 28 Jul 2017 ?
I tried to rebase it on recent Linux, but it did not even boot for me.
Only this was printed:
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0
But cpu_relax() implementation from [1] fixes my problem if I use it
only in irq_finalize_oneshot().
[1] https://lore.kernel.org/lkml/20170728092831.GA24839@arm.com/
Zdenek Bouska
--
Siemens, s.r.o
Siemens Advanta Development
More information about the linux-arm-kernel
mailing list