Re: Topic for discussion: OS Design

From: Andi Kleen (ak@suse.de)
Date: Mon Oct 23 2000 - 18:19:36 EST


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/



This archive was generated by hypermail 2b29 : Mon Oct 23 2000 - 21:00:22 EST