Thread (27 messages) 27 messages, 4 authors, 2019-08-15

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help