*printf(9) and PRINTF_BUFR_SIZE

dieterbsd at engineer.com dieterbsd at engineer.com
Sat Apr 9 19:56:13 UTC 2011


While working on other problems with *printf(9), log(9), etc.
I stumbled upon:

options   PRINTF_BUFR_SIZE=128    # Prevent printf output being 
interspersed.

Question 1: Am I correct in thinking that PRINTF_BUFR_SIZE is supposed
to prevent this:

   ada2: 300.000MB/s transfuhub2: 3 ports with 3 removable, self powered
   ers (SATA 2.x, UDMA6, PIO 8192bytes)
   ada2: Command Queueing enabled

Question 2: Why is vprintf() the only function that does this buffering?
As far as I can tell, the various functions that call kvprintf() 
directly
without going through vprintf() do not get buffered.  I'm thinking that
kvprintf() would be a better place for the buffering.  Or would this 
break
something?




More information about the freebsd-hackers mailing list