Messages in this thread |  | | Date | Tue, 24 Oct 2000 01:19:36 +0200 | From | Andi Kleen <> | Subject | Re: Topic for discussion: OS Design |
| |
On Mon, Oct 23, 2000 at 06:43:28PM -0400, Dennis wrote: > - FreeBSD will display kernel print messages with syslogd not running, and > linux will not.
Linux will also when the console log level is set high enough (which it is by default, just it is usually too low after you killed klogd). Unqualified printks have level 4, so you need a level > that. Some distributions also unfortunately set bogus defaults or redirect the messages to specific virtual consoles.
> - FreeBSD doesnt (seem) to have the buffering problem that linux does, in > that exceptionally long messages (like decoding a Frame Relay LMI frame > with 1000 elements) work just fine.
You cannot print more than the kernel log buffers size without scheduling inbetween to let klogd eat some of the buffer.
I don't see a way how FreeBSD could do that better, except if they found a way to store infinite data in a finite buffer (or alternatively not store your LMI frame completely in the syslog, which would be also as bad) It is possible that their default buffer is bigger though. Linux's default is 16K, which is a bit on the low side for many things. You can increase it of course with a simple recompile by changing the define in kernel/printk.c
Admittedly one problem in Linux with big printks is that it kills your interrupt latency completely. There are lower overhead alternatives though.
> - FreeBSD will display messages immediately without a newline > - FreeBSD messages 1) can be redirected and 2) are printed without a timestamp.
Both just like in Linux. The timestamps come from syslogd/klogd, not the kernel.
-Andi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |