linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
To: Tim Hockin <thockin@hockin.org>
Cc: "Greg KH" <gregkh@suse.de>, "Joe Perches" <joe@perches.com>,
	linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org,
	lf_kernel_messages@lists.linux-foundation.org,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Michael Holzheu" <holzheu@de.ibm.com>,
	"Gerrit Huizenga" <gh@us.ibm.com>,
	"Randy Dunlap" <randy.dunlap@oracle.com>,
	"Jan Kara" <jack@suse.cz>, "Pavel Machek" <pavel@ucw.cz>,
	"Sam Ravnborg" <sam@ravnborg.org>,
	"Jochen Voß" <jochen.voss@googlemail.com>,
	"Kunai Takashi" <kunai@linux-foundation.jp>,
	"Tim Bird" <tim.bird@am.sony.com>
Subject: Re: [patch 1/3] kmsg: Kernel message catalog macros.
Date: Sat, 16 Aug 2008 20:06:30 +0200	[thread overview]
Message-ID: <1218909990.6037.28.camel@localhost> (raw)
In-Reply-To: <b3ece790808151003o24e518a1ra217010f6658c2c6@mail.gmail.com>

On Fri, 2008-08-15 at 10:03 -0700, Tim Hockin wrote:
> On Fri, Aug 15, 2008 at 9:03 AM, Greg KH <gregkh@suse.de> wrote:
> >> I'd like to be able to report something like an OOM kill in (roughly)
> >> the same way as an ATA error, and I want (though could be talked out
> >> of) a way to tell these "events" (for lack of a better word) apart
> >> from plain-old-printk()s.
> >
> > That's great, then create something that can handle both!  Don't throw
> > away some wonderful information that way over half the kernel has access
> > to just because the minority doesn't.  That would mean that we would
> > loose information in those drivers overall.
> 
> Sorry, I never meant to imply that dev_printk() was to be ignored, my
> examples was meant to be trivial to demonstrate :)  dev_printk() is
> good.  We should keep it :)

The invention of dev_printk was a good thing. It adds structure to the
messages if it is about a device. Before we had a simple printk that did
or did not include information about the device driver and the device
name. dev_printk makes sure that this information is always added.
BUT, what dev_printk does not do is to make sure that the message can be
uniquely identified so that the description of the message can be found
in the message catalog. Our approach is to combine the driver name and a
simple index into a message tag. The original dev_printk remains almost
unchanged. A typical hunk in the code looks like this:

@@ -24,8 +27,8 @@ static int zfcp_ccw_probe(struct ccw_dev

        down(&zfcp_data.config_sema);
        if (zfcp_adapter_enqueue(ccw_device)) {
-               dev_err(&ccw_device->dev,
-                       "Setup of data structures failed.\n");
+               kmsg_dev_err(73, &ccw_device->dev,
+                            "Setup of data structures failed.\n");
                retval = -EINVAL;
        }
        up(&zfcp_data.config_sema);

The kmsg_dev_printk still has almost the same structure, only the
message id is added. There is one real difference though:
the driver name is specified with KMSG_COMPONENT and not via
dev_driver_string(dev). We do that so that the kmsg-doc script can
actually find the driver name. The dev_driver_string(dev) is dynamic and
a static tool has a hard time to find the actual driver string.  

-- 
blue skies,
  Martin.

"Reality continues to ruin my life." - Calvin.



  reply	other threads:[~2008-08-16 18:06 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-30 16:56 [patch 0/3] [RFC] kmsg macros and script, take x+1 Martin Schwidefsky
2008-07-30 16:56 ` [patch 1/3] kmsg: Kernel message catalog macros Martin Schwidefsky
2008-07-30 19:39   ` Greg KH
2008-07-31  8:35     ` Martin Schwidefsky
2008-07-30 22:02   ` Kay Sievers
2008-07-30 22:04     ` Greg KH
2008-07-31  9:10       ` Martin Schwidefsky
2008-08-05 22:31         ` Greg KH
2008-08-06  8:35           ` Martin Schwidefsky
2008-08-06 20:07             ` Greg KH
2008-08-07  8:31               ` Martin Schwidefsky
2008-08-07 15:59                 ` Joe Perches
2008-08-10  0:08                   ` Martin Schwidefsky
2008-08-16 19:36                     ` Joe Perches
2008-08-17 17:27                       ` Martin Schwidefsky
2008-08-07 17:01                 ` Greg KH
2008-08-10  0:03                   ` Martin Schwidefsky
2008-08-11 10:54                     ` Jan Kara
2008-07-31  8:36     ` Martin Schwidefsky
2008-08-13  0:35   ` Tim Hockin
2008-08-14 17:04     ` Martin Schwidefsky
2008-08-14 18:50       ` Tim Hockin
2008-08-15  3:08         ` Joe Perches
2008-08-15  3:44           ` Greg KH
2008-08-15  5:33             ` Tim Hockin
2008-08-15 11:21               ` Jan Blunck
2008-08-15 15:39                 ` Tim Hockin
2008-08-18  9:23                   ` Pavel Machek
2008-08-18 10:39                     ` Jan Kara
2008-08-18 17:51                     ` Tim Hockin
2008-08-15 16:03               ` Greg KH
2008-08-15 17:03                 ` Tim Hockin
2008-08-16 18:06                   ` Martin Schwidefsky [this message]
2008-08-13  4:33   ` Rusty Russell
2008-08-13  7:04     ` Tim Hockin
2008-08-13  7:13       ` Pavel Machek
2008-08-13 14:50         ` Tim Hockin
2008-08-14  1:53       ` Rusty Russell
2008-08-14 15:40         ` Tim Hockin
2008-08-14 17:11           ` Martin Schwidefsky
2008-08-14 17:07     ` Martin Schwidefsky
2008-08-14 23:22       ` Rusty Russell
2008-08-16 17:49         ` Martin Schwidefsky
2008-08-16 20:40           ` Tim Hockin
2008-08-17  3:39             ` Rick Troth
2008-08-17  5:11             ` Rusty Russell
2008-08-17 17:33               ` Martin Schwidefsky
2008-08-17 17:28             ` Martin Schwidefsky
2008-08-17 17:31               ` Tim Hockin
2008-08-15 20:05     ` Rick Troth
2008-08-16 17:45       ` Martin Schwidefsky
2008-08-25 15:56     ` Martin Schwidefsky
2008-08-26  1:38       ` Rusty Russell
2008-09-01 12:28         ` Martin Schwidefsky
2008-09-02 13:34           ` Rusty Russell
2008-09-02 14:16             ` Martin Schwidefsky
2008-07-30 16:56 ` [patch 2/3] kmsg: Kernel message catalog script Martin Schwidefsky
2008-07-31  6:40   ` KOSAKI Motohiro
2008-07-31 10:23   ` Takashi Nishiie
2008-08-01 11:39     ` Martin Schwidefsky
2008-07-30 16:56 ` [patch 3/3] kmsg: convert xpram messages to kmsg api Martin Schwidefsky
2008-07-30 19:43   ` Greg KH
2008-07-31  8:33     ` Martin Schwidefsky
2008-08-05 22:34       ` Greg KH
2008-08-06  8:46         ` Martin Schwidefsky
2008-08-06 20:11           ` Greg KH
2008-08-07  8:39             ` Martin Schwidefsky
2008-08-07 17:03               ` Greg KH
2008-08-04  6:48   ` Pavel Machek
2008-08-04  8:06     ` Martin Schwidefsky
     [not found] ` <20080804202614.GA29170@uranus.ravnborg.org>
2008-08-05  8:03   ` [patch 0/3] [RFC] kmsg macros and script, take x+1 Martin Schwidefsky
     [not found] <OF576C88F7.D38E7FE6-ONC12574B1.00547361-C12574B1.005502D2@de.ibm.com>
2008-09-01 12:30 ` [patch 1/3] kmsg: Kernel message catalog macros Martin Schwidefsky

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=1218909990.6037.28.camel@localhost \
    --to=schwidefsky@de.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=gh@us.ibm.com \
    --cc=gregkh@suse.de \
    --cc=holzheu@de.ibm.com \
    --cc=jack@suse.cz \
    --cc=jochen.voss@googlemail.com \
    --cc=joe@perches.com \
    --cc=kunai@linux-foundation.jp \
    --cc=lf_kernel_messages@lists.linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=randy.dunlap@oracle.com \
    --cc=sam@ravnborg.org \
    --cc=thockin@hockin.org \
    --cc=tim.bird@am.sony.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).