Re: [patch 1/3] kmsg: Kernel message catalog macros.

From: Tim Hockin
Date: Mon Aug 18 2008 - 13:51:44 EST


On Mon, Aug 18, 2008 at 2:23 AM, Pavel Machek <pavel@xxxxxxx> wrote:
> Hi!
>
>> > I don't think that he wants to unify all the printk's in the system. I don't
>> > think that reporting all errors "in the same way as an ATA error" makes any
>> > sense. That would just lead to very stupid and unnatural messages for all
>> > errors that are not like "ATA errors". Annotation of existing errors is a much
>> > more flexible and feasible solution to that problem.
>>
>> Please don't misinterpret. I don't want to make other errors parse
>> like an ATA error, I want to make the plumbing be parallel. I want
>> one umbrella mechanism for reporting things that are more important
>> than just-another-printk().
>>
>> Because frankly, "parse dmesg" is a pretty crappy way to have to
>> monitor your system for failures, and I am tired of explaining to
>> people why we still do that.
>
> "parse dmesg" does not work for monitoring your system for failures;
> dmesg buffer can overflow.
>
> If something fails, you should get errno returned for userspace, and
> that's where you should be doing the monitoring.
>
> So... what parts don't return enough information to userspace so that
> you need to parse dmesg? Lets fix them.

If I get a DMA timeout on my disk, I want to know about it. If I get
an OOM kill, I want to know about it. Etc.

I *don't* want every application to participate in system monitoring,
and that's what it seems you're suggesting. I want a monitoring
daemon which is notified of important system events. We like to
report these things in various ways, including squirting them out onto
the network.

I *don't* want to run regexes against dmesg or /var/log/messages or
/var/log/kernel every N seconds, that's just a gross hack. I really
want first-class notifications of significant events. I don't mind
having to do parsing of events - as I said before, they can even be
loosely structured strings. They just need to be more important than
a plain old printk(), and preferably come through a different channel.

I understand that many users will not want this level of monitoring,
and that's why it should be flexible enough to devolve into printk().
But we have thousands of systems. I need a better view of what is
happening.

Tim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/