public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartmann <greg@kroah.com>
To: Kay Sievers <kay@vrfy.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] printk: support structured and multi-facility log messages
Date: Wed, 4 Apr 2012 17:31:42 -0700	[thread overview]
Message-ID: <20120405003142.GA27595@kroah.com> (raw)
In-Reply-To: <CAPXgP13mvFNphitrtXnsj+c3+GYvSPU=2-HgtKbHGhmz-CE68g@mail.gmail.com>

On Wed, Apr 04, 2012 at 11:14:25PM +0200, Kay Sievers wrote:
> On Wed, Apr 4, 2012 at 23:05, Greg Kroah-Hartmann <greg@kroah.com> wrote:
> > On Wed, Apr 04, 2012 at 09:59:14PM +0200, Kay Sievers wrote:
> 
> >> - Output of dev_printk() is reliably machine-readable now. In addition
> >>   to the printed plain text message, it creates a log dictionary with the
> >>   following properties:
> >>     SUBSYSTEM=     - the driver-core subsytem name
> >>     DEVICE=
> >>       b12:8        - block dev_t
> >>       c127:3       - char dev_t
> >>       n8           - netdev ifindex
> >>       +sound:card0 - subsystem:devname
> >
> > I like this a lot, thanks for doing this.
> >
> > Is there somewhere in Documentation/ABI that we can document this
> > interface so that people know what it is, what is defined, and how to
> > use it?
> 
> It's the notation udev uses to identify its devices internally. I just
> added the above description to the source code so far. If we agree on
> that, or some other scheme, we should definitely copy that into the
> ABI docs. Along with a description of the semantics of the chardev
> regarding open() poll() and seek().

Ok, that sounds good.  I like the description, and implementation, so I
have no objections to this patch, I'd be glad to queue it up through my
tree to get testing in linux-next now if you want.

> >> - Support for multiple concurrent readers of /dev/kmsg, with read(),
> >>   seek(), poll() support. Output of message sequence numbers, to allow
> >>   userspace log consumers to reliably reconnect and reconstruct their
> >>   state at any given time. After open("/dev/kmsg"), read() always
> >>   returns *all* buffered records. If only future messages should be
> >>   read, SEEK_END can be used. In case records get overwritten while
> >>   /dev/kmsg is held open, or records get faster overwritten than they
> >>   are read, the next read() will return -EPIPE and the current reading
> >>   position gets updated to the next available record. The passed
> >>   sequence numbers allow the log consumer to calculate the amount of
> >>   lost messages.
> >
> > I just noticed that 'tail -f' doesn't seem to work on /dev/kmsg, should
> > it?  Or does it need to do something else to get "just the new ones"?
> 
> Yeah, 'tail' might not work, it expects a regular file. This is a
> chardev and it has not the regular file semantics which 'tail'
> expects; 'cat' should work fine. 'Real' tools will just use poll() to
> know when to get new messages out of the file descriptor.

Ah, you are right, I forgot about the "real file" stuff with tail, the
device node never gets updated with a timestamp.

thanks,

greg k-h

  reply	other threads:[~2012-04-05  0:31 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-04 19:59 [PATCH] printk: support structured and multi-facility log messages Kay Sievers
2012-04-04 21:05 ` Greg Kroah-Hartmann
2012-04-04 21:14   ` Kay Sievers
2012-04-05  0:31     ` Greg Kroah-Hartmann [this message]
2012-04-04 21:16   ` richard -rw- weinberger
2012-04-04 21:20     ` Kay Sievers
2012-04-04 23:51 ` Joe Perches
2012-04-05  0:33   ` Greg Kroah-Hartmann
2012-04-05  0:40     ` Joe Perches
2012-04-05  7:46       ` Kay Sievers
2012-04-05  8:08         ` Sam Ravnborg
2012-04-05  8:35           ` Kay Sievers
2012-04-05 11:44             ` Joe Perches
2012-04-05  8:38 ` Joe Perches
2012-04-05  8:44   ` Kay Sievers
2012-04-05 15:05 ` Ingo Molnar
2012-04-05 15:25   ` Kay Sievers
2012-04-05 17:18     ` Ingo Molnar
2012-04-05 17:09 ` Linus Torvalds
2012-04-05 17:53   ` Linus Torvalds
2012-04-13 13:42     ` Stijn Devriendt
2012-04-05 19:47   ` Kay Sievers
2012-04-06  1:12     ` Joe Perches
2012-04-06  1:31       ` Linus Torvalds
2012-04-06  3:43         ` Joe Perches
2012-04-06 18:35         ` Kay Sievers
2012-04-08  0:47           ` Joe Perches
2012-04-08  1:02           ` Joe Perches
2012-04-10 17:21             ` Joe Perches
2012-04-11 11:39     ` Eric W. Biederman
2012-04-07  0:26 ` Jiri Kosina
2012-04-07  0:59   ` Joe Perches
2012-04-07  1:14     ` Jiri Kosina
2012-04-07  1:51       ` Joe Perches

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=20120405003142.GA27595@kroah.com \
    --to=greg@kroah.com \
    --cc=kay@vrfy.org \
    --cc=linux-kernel@vger.kernel.org \
    /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