Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys/arch/sparc
Module Name: src
Committed By: mrg
Date: Thu Jan 13 05:20:27 UTC 2011
Modified Files:
src/sys/arch/sparc/include: cpu.h
src/sys/arch/sparc/sparc: cpu.c cpuvar.h genassym.cf locore.s machdep.c
trap.c vm_machdep.c
Log Message:
introduce a hack to workaround the savefpstate IPI get's NULL
struct fpstate *.
add a new entry point ipi_savefpstate() that is used for this IPI
instead of the plain ipi_savefpstate(). check for %o0 being NULL,
and if so, just return.
add event counters for the savefpstate IPI, and another one for
when it detects the NULL problem.
make the cpu_info struct xmpsg be aligned to a single cache line.
with this change applied (and another minor change in testing) my
SS20 with dual SM75's has survived for 17 hours on build.sh -j5,
and has reported 7 NULL savefps. (the minor change seems to have
a significant effect at reducing this number, but more testing is
needed for it.)
XXX: this is horrible and we really need to find the real problem
XXX: but this should let people use sparc smp again, and fixes
XXX: for the real problem can be tested by seeing if any of the
XXX: savefp IPI null counter becomes non-zero.
To generate a diff of this commit:
cvs rdiff -u -r1.89 -r1.90 src/sys/arch/sparc/include/cpu.h
cvs rdiff -u -r1.223 -r1.224 src/sys/arch/sparc/sparc/cpu.c
cvs rdiff -u -r1.83 -r1.84 src/sys/arch/sparc/sparc/cpuvar.h
cvs rdiff -u -r1.61 -r1.62 src/sys/arch/sparc/sparc/genassym.cf
cvs rdiff -u -r1.258 -r1.259 src/sys/arch/sparc/sparc/locore.s
cvs rdiff -u -r1.303 -r1.304 src/sys/arch/sparc/sparc/machdep.c
cvs rdiff -u -r1.184 -r1.185 src/sys/arch/sparc/sparc/trap.c
cvs rdiff -u -r1.101 -r1.102 src/sys/arch/sparc/sparc/vm_machdep.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index