All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Huang Ying <ying.huang@intel.com>
Cc: Len Brown <lenb@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Andi Kleen <andi@firstfloor.org>,
	"Luck, Tony" <tony.luck@intel.com>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH -v2 2/3] ACPI, APEI, Add APEI generic error status print support
Date: Tue, 30 Nov 2010 15:49:05 -0800	[thread overview]
Message-ID: <20101130154905.b5c8ab31.akpm@linux-foundation.org> (raw)
In-Reply-To: <1291100431.12648.165.camel@yhuang-dev>

On Tue, 30 Nov 2010 15:00:31 +0800
Huang Ying <ying.huang@intel.com> wrote:

> > However in this case you are avowedly treating the printks as a
> > userspace interface, with the intention that software be written to
> > parse them, yes?  So once they're in place, we cannot change them?  That
> > makes it more important.
> 
> If my understanding is correct, Linus still don't like the idea of user
> space hardware error tool.

I'm sure he has no problem with a userspace tool ;) Surely what he doesn't
like is the proposed kernel interface.

>  On the other hand, if we need this tool, I
> think printk is not a good tool-oriented hardware error reporting
> interface for it, because:
> 
> - There is no overall format or record boundaries for printk, because
> printk is traditionally for 1-2 lines.  This makes that printk is hard
> to parse in general.

Well.  These things can be addressed by careful choice of output
format.

> - Messages from different CPUs may be interleaved.

A single printk() should be atomic.

> - Good error reporting is too verbose for kernel log
> 
> - printk has no internal priority support, so that high severity errors
> has no more priority than low severity ones.
> 
> 
> So my opinion is:
> 
> - Use printk as human oriented hardware error reporting.
> - Use another tool oriented interface for user space hardware error tool
> if necessary.
> 
> Do you agree?  Do you think printk can be used as a good tool-oriented
> hardware error reporting interface too?

I agree that using printk() is pretty sucky.

However your proposals are waaaaaaaaay too narrow and specific IMO. 
There are several reasons why people want more regular and structured
kerenl->userspace messaging features.  One such requirement is for
internationalisation: people want messages to come out in some
non-language-specific manner so that userspace tools can perform
catalogue lookups and display the messages in the appropriate language.
 Others (eg google) want to feed the messages into large-scale
capturing systems for offline analysis.  And there are other
requirements which I forget.  Such a messaging/logging system would
also incorporate the requirement to log to a persistent store.

So I think that quite a lot of people would be interested in proposals
for a new and improved kernel->userspace messaging/logging facility. 
But talking about "hardware error reporting" (especially when it covers
only a teeny subset of possible hardware errors!) is very myopic.

And implementing the broad facility would be a pretty big project.  Simply
chasing down all the stakeholders and understanding their needs would
turn one's hair grey.

So we're a bit stuck, really.  We would benefit from a quite broad and
expensive-to-implement messaging/logging system, but we don't even know
what that will look like yet.  You have a small and highly-specific
subset of that.  If we merge the subset then it probably will live
forever even if the broader feature gets written one day, because the
subset is userspace-visible and adds interfaces which the larger system
probably won't even implement.

So...  for your pretty narrow and specific problem, perhaps using
printk as a stopgap until somethine better to come along is the correct
choice.

  reply	other threads:[~2010-11-30 23:49 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-30  2:51 [PATCH -v2 0/3] Report APEI GHES error information via printk Huang Ying
2010-11-30  2:51 ` [PATCH -v2 1/3] Add CPER PCIe error section structure and constants definition Huang Ying
2010-11-30  2:51 ` [PATCH -v2 2/3] ACPI, APEI, Add APEI generic error status print support Huang Ying
2010-11-30  3:03   ` Andrew Morton
2010-11-30  3:29     ` Huang Ying
2010-11-30  3:40       ` Andrew Morton
2010-11-30  7:00         ` Huang Ying
2010-11-30 23:49           ` Andrew Morton [this message]
2010-12-01  0:04             ` huang ying
2010-12-01  0:04               ` huang ying
2010-11-30 18:00     ` Luck, Tony
2010-11-30 18:17       ` Andrew Morton
2010-11-30 23:56       ` huang ying
2010-11-30 23:56         ` huang ying
2010-11-30  2:51 ` [PATCH -v2 3/3] ACPI, APEI, report GHES error information via printk Huang Ying
2010-11-30  3:07   ` Andrew Morton
2010-11-30  3:35     ` Huang Ying
2010-11-30  5:47       ` KOSAKI Motohiro
2010-11-30  6:20         ` Huang Ying

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101130154905.b5c8ab31.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    --cc=tony.luck@intel.com \
    --cc=torvalds@linux-foundation.org \
    --cc=ying.huang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.