Whats the difference between all the kernel log functions?
Justin Walker provided an excellent explaination on the development list: Use of the various kernel print mechanisms: log(), kprintf(), printf() SYSLOG: The kernel function log() posts messages to a kernel buffer where they are picked up by the syslogd daemon and in turn written to a destination specified in /etc/syslog.conf. The mechanisms are discussed in man syslog, man syslogd, and man syslog.conf. KPRINTF: The kernel function kprintf() will normally be disabled, but can be enabled with an argument to the boot command (see below). If enabled, this function will display its output on the system’s serial line (modem port). PRINTF: The kernel function printf() differs from kprintf() in the way the printouts are handled. “Printf” strings will be placed in the system log file (/var/log/system.log) in all cases. If the kernel boots in “verbose” mode, they will display on the video console until the window server comes up. When the user has “logged in” as ‘console’, or is otherwise not us