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-13 09:53:09
Subsystem: arm64 port (aarch64 architecture), the rest · Maintainers: Catalin Marinas, Will Deacon, Linus Torvalds

On 2019-07-17 18:28:51 [-0400], Paul Thomas wrote:
On Wed, Jul 17, 2019 at 6:21 AM Thomas Gleixner [off-list ref] wrote:
quoted
On Wed, 17 Jul 2019, Thomas Gleixner wrote:
quoted
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
-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