--- - branch: MAIN date: Sat Dec 2 00:48:05 UTC 2017 files: - new: '1.99' old: '1.98' path: src/sys/arch/sparc/include/cpu.h pathrev: src/sys/arch/sparc/include/cpu.h@1.99 type: modified - new: '1.250' old: '1.249' path: src/sys/arch/sparc/sparc/cpu.c pathrev: src/sys/arch/sparc/sparc/cpu.c@1.250 type: modified - new: '1.119' old: '1.118' path: src/sys/arch/sparc/sparc/intr.c pathrev: src/sys/arch/sparc/sparc/intr.c@1.119 type: modified id: 20171202T004805Z.6668fc554139a975740daeb207fe7b0251646f53 log: | - 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... module: src subject: 'CVS commit: src/sys/arch/sparc' unixtime: '1512175685' user: macallan