Re: poor cyclictest results with 5.0 series rt for arm64
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: 2019-08-15 15:15:19
On 2019-08-15 11:12:35 [-0400], Paul Thomas wrote:
quoted
so it seems to works but I *think* that at 610.156813 shouldn't be there and it should switch to cyclictest. But if it is the broken irq-exit path then this should fix it:diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index 63c6960262861..27a16c2711981 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S@@ -649,13 +649,7 @@ alternative_if ARM64_HAS_IRQ_PRIO_MASKING alternative_else_nop_endif 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 - - ldr x0, [tsk, #TSK_TI_FLAGS] // get flags - tbz x0, #TIF_NEED_RESCHED_LAZY, 2f // needs rescheduling? + b 2f // count != 0 1: bl preempt_schedule_irq // irq en/disable is done inside 2:This doesn't look like it's against 5.2.y-rt or 5.0.y-rt? I don't see a (need_resched + count) == 0 line?
That was the previous patch I've sent you.
-Paul
Sebastian