cvs commit: src/sys/amd64/amd64 genassym.c src/sys/arm/arm
genassym.c src/sys/conf options src/sys/i386/i386 genassym.c
src/sys/kern subr_prf.c src/sys/powerpc/powerpc genassym.c
src/sys/sparc64/sparc64 genassym.c src/sys/sun4v/conf GENERIC ...
John Birrell
jb at FreeBSD.org
Wed Nov 29 20:17:06 PST 2006
jb 2006-11-30 04:17:05 UTC
FreeBSD src repository
Modified files:
sys/amd64/amd64 genassym.c
sys/arm/arm genassym.c
sys/conf options
sys/i386/i386 genassym.c
sys/kern subr_prf.c
sys/powerpc/powerpc genassym.c
sys/sparc64/sparc64 genassym.c
sys/sun4v/conf GENERIC
sys/sys pcpu.h
Log:
Turn console printf buffering into a kernel option and only on
by default for sun4v where it is absolutely required.
This change moves the buffer from struct pcpu to the stack to avoid
using the critical section which created a LOR in a couple of cases
due to interaction with the tty code and kqueue. The LOR can't be
fixed with the critical section and the pcpu buffer can't be used
without the critical section.
Putting the buffer on the stack was my initial solution, but it was
pointed out that the stress on the stack might cause problems
depending on the call path. We don't have a way of creating tests
for those possible cases, so it's best to leave this as an option
for the time being. In time we may get enough data to enable this
option more generally.
Revision Changes Path
1.159 +0 -1 src/sys/amd64/amd64/genassym.c
1.8 +0 -1 src/sys/arm/arm/genassym.c
1.566 +3 -0 src/sys/conf/options
1.155 +0 -1 src/sys/i386/i386/genassym.c
1.128 +23 -14 src/sys/kern/subr_prf.c
1.58 +0 -1 src/sys/powerpc/powerpc/genassym.c
1.67 +0 -1 src/sys/sparc64/sparc64/genassym.c
1.6 +1 -0 src/sys/sun4v/conf/GENERIC
1.19 +0 -5 src/sys/sys/pcpu.h
More information about the cvs-src
mailing list