Re: the stuttering regression in 7.0: should I have done something different

From: Tony Rodriguez

Date: Fri May 15 2026 - 00:47:29 EST


Hi Thomas,

I’ve completed validation with the v7.0.7 release and v7.1‑rc3 on both S7‑2 and T7‑1 systems. Everything looks good.

Thank you again for the debugging guidance and for the feedback on my original patch addressing the timer starvation issue. It was a pleasure contributing to the resolution.

PS: I agree that the second patch we discussed isn’t needed—the systems run correctly without it. The following patch alone is sufficient:

Best regards,
Tony Rodriguez

--- linux-7.1-rc1/arch/sparc/kernel/time_64.c.orig
+++ linux-7.1-rc1/arch/sparc/kernel/time_64.c
@@ -146,7 +146,7 @@
                  : "=r" (new_tick));
     new_tick &= ~TICKCMP_IRQ_BIT;

-    return ((long)(new_tick - (orig_tick+adj))) > 0L;
+    return ((long)(new_tick - (orig_tick+adj))) >= 0L;
 }

 static unsigned long tick_add_tick(unsigned long adj)
@@ -277,7 +277,7 @@
                  : "=r" (new_tick));
     new_tick &= ~TICKCMP_IRQ_BIT;

-    return ((long)(new_tick - (orig_tick+adj))) > 0L;
+    return ((long)(new_tick - (orig_tick+adj))) >= 0L;
 }

 static unsigned long stick_get_frequency(void)
@@ -411,7 +411,7 @@

     val2 = __hbird_read_stick() & ~TICKCMP_IRQ_BIT;

-    return ((long)(val2 - val)) > 0L;
+    return ((long)(val2 - val)) >= 0L;
 }

 static unsigned long hbtick_get_frequency(void)