On Tue, Aug 13, 2019 at 5:53 AM Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> wrote: > > On 2019-07-17 18:28:51 [-0400], Paul Thomas wrote: > > On Wed, Jul 17, 2019 at 6:21 AM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote: > > > > > > On Wed, 17 Jul 2019, Thomas Gleixner wrote: > > > > On Wed, 17 Jul 2019, Thomas Gleixner wrote: > > > > > > > > The one below should fix it for real. > > > > > > That still has an issue which needs deeper investigation. Just keep the > > > offending patch reverted for now. > > > > OK, sounds good. > > could you please try the following hunk? > > diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S > index 6808cd9526c67..63c6960262861 100644 > --- a/arch/arm64/kernel/entry.S > +++ b/arch/arm64/kernel/entry.S > @@ -648,7 +648,8 @@ alternative_if ARM64_HAS_IRQ_PRIO_MASKING > orr x24, x24, x0 > alternative_else_nop_endif > > - cbnz x24, 2f // preempt count != 0 > + cbz x24, 1f // (need_resched + count) == 0 > + cbnz w24, 2f // count != 0 > > ldr w24, [tsk, #TSK_TI_PREEMPT_LAZY] // get preempt lazy count > cbnz w24, 2f // preempt lazy count != 0 > I still get large latencies, like this: root@xu5:/opt/rt-tests# ./cyclictest -h ./cyclictest -S -m -n -p 99 -i 200 -h 400 -D 900 # /dev/cpu_dma_latency set to 0us policy: fifo: loadavg: 0.10 0.10 0.03 1/134 1901 T: 0 ( 1886) P:99 I:200 C:2724618 Min: 5 Act: 6 Avg: 6 Max: 45 T: 1 ( 1887) P:99 I:200 C:2724525 Min: 5 Act: 7 Avg: 6 Max: 29 T: 2 ( 1888) P:99 I:200 C:2724246 Min: 5 Act: 6 Avg: 6 Max: 6338 T: 3 ( 1889) P:99 I:200 C:2724339 Min: 5 Act: 8 Avg: 6 Max: 141 This is with the Lazy preempt commit in there. thanks, Paul