Date: Thu, 30 Nov 2006 04:17:05 +0000 (UTC) From: John Birrell <jb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: 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 ... Message-ID: <200611300417.kAU4H51q022455@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611300417.kAU4H51q022455>