Re: [PATCH v2] sparc64: increase kernel thread stack size to 32K
From: Tony Rodriguez
Date: Tue Sep 01 2026 - 23:30:53 EST
Thanks again for the details, but I already had those CONFIG and stacktrace options defined based on previous debugging sessions.
32K should be fine based on the output (see the link below), and I have not noticed any crashes with a 32K stack). These results are against kernel v7.1.0-rc3 using my original patches on the S7-2.
https://github.com/unixpro1970/Sparc64-Kernel-Debugging-Dumps/blob/main/kernel-v7.1.0-rc3-depth-stack-trace-sparc64-s7-2.txt
Should I try your revised 32k stack and timer patches on the S7-2 and T7-1? If so, which kernel version did you validate against 7.2 or 7.3?
Regards,
Tony
On 8/31/26 2:05 PM, Stian Halseth wrote:
Hi Tony,
On Mon, 2026-08-31 at 13:18 -0700, Tony Rodriguez wrote:
Hi Stian,Sure. For now, no real changes have been made to your patches, so as
Just please continue to give me a
mention in any patches related to this work, since I spent a
considerable amount of time debugging, researching, and validating
the fixes.
far as I'm concerned, this is entirely your work.
Will try help with the last mile, alongside some other patches I've
submitted.
And yes, the debugging, researching and validation is the hard part.
Writing a fix is often _relatively_ easy, when you have all the facts.
When I last tested on 7.0 and 7.1, both of my patches worked:Yes, and that's a very important data point. My analyzis is based on
A) sparc64: increase kernel thread stack size to 32K
B) sparc64: Fix comparator problem with timer interrupts
I was able to debug and validate these issues on S7‑2 and T7‑1
hardware.
the change itself, _and_ your validation/testing.
I’m not sure if others have reported similar problems on T4 or T5Not that I'm aware of, and I haven't seen it on my T4-1.
systems.
If you have a quicker or better methodology for reviewing stackI think that would be very helpful. Let's try to settle the 32K-vs-64K
usage—or
any general suggestions—I’m definitely open to seeing them, along
with
your config and exact procedure. And if you need help validating
against
S7‑2 and T7‑1 hardware, I can try to allocate some time to assist.
question with more data.
The kernel has stack measurement built in.
The in-kernel method:
CONFIG_STACK_TRACER=y
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_SCHED_STACK_END_CHECK=y
Boot with "stacktrace" on the kernel command line (arms the tracer
before built-in drivers probe). Then:
cat /sys/kernel/tracing/stack_max_size # worst case seen, bytes
cat /sys/kernel/tracing/stack_trace # that path, frame by frame
Reset with "echo 0 > stack_max_size" before a workload to isolate it.
For the 32K-vs-64K question, the most valuable data you could gather
is a stack_trace snapshot on the S7-2/T7-1 under your real workload
with mlx5 active, on a 32K kernel.
On our T4-1 the worst case is 12616 bytes, but doesn't have mlx5. If
your machines stay well under 32K, we have comfortable margin. But if
something approaches the limit, the trace will name the exact frames,
and we can judge whether the right answer is 64K or a targeted fix in
that driver.
Thanks!