Now
MAIN commitmail json YAML
src/sys/arch/sparc/include/cpu.h@1.99
/
diff
/
nxr@1.99
src/sys/arch/sparc/sparc/cpu.c@1.250 / diff / nxr@1.250
src/sys/arch/sparc/sparc/intr.c@1.119 / diff / nxr@1.119
src/sys/arch/sparc/sparc/cpu.c@1.250 / diff / nxr@1.250
src/sys/arch/sparc/sparc/intr.c@1.119 / diff / nxr@1.119
- return early in xcall() if the function is sparc_noop() instead of triggering
the IPI and then ignoring responses ( or lack thereof )
- write the .tag field last to avoid a race when polling for an incoming
IPI
- add event counters for IPIs being caught with the mutex not held, and for
messages that are already marked as completed
With this my SS20 made it through 48 hours of pkgsrc with MAKE_JOBS=3 and a
pair of SM81s.
Hypersparcs still crash but instead of craziness we get actual error messages,
apparently one CPU will occasionally do a watchdog reset, which according to
the manual is caused by catching a trap with traps disabled. Now to figure
out how that can even happen...
the IPI and then ignoring responses ( or lack thereof )
- write the .tag field last to avoid a race when polling for an incoming
IPI
- add event counters for IPIs being caught with the mutex not held, and for
messages that are already marked as completed
With this my SS20 made it through 48 hours of pkgsrc with MAKE_JOBS=3 and a
pair of SM81s.
Hypersparcs still crash but instead of craziness we get actual error messages,
apparently one CPU will occasionally do a watchdog reset, which according to
the manual is caused by catching a trap with traps disabled. Now to figure
out how that can even happen...