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