Messages in this thread | | | From | "Bouska, Zdenek" <> | Subject | Re: Unfair qspinlocks on ARM64 without LSE atomics => 3ms delay in interrupt handling | Date | Tue, 28 Mar 2023 09:39:38 +0000 |
| |
> > 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
| |