On Sunday 05/15 at 00:19 +0200, Richard Weinberger wrote: > On Fri, May 13, 2016 at 10:58 PM, Calvin Owens <[email protected]> wrote: > > We use netconsole to collect kernel logs from all the servers at > > Facebook. We use this patch internally so each logline has a record of > > which kernel version emitted it. > > > > At first glance, this might seem lazy: as you would expect, we have a > > database which records which kernel version a host is currently running. > > But there are a lot of situations where that database cannot be current: > > early-ish boot crashes are probably the best example, but even beyond > > that there are lots of varieties of kernel brokenness that can prevent > > the database from being updated. Doing it explicitly this way ensures > > that we always know exactly what version emitted a given message. > > > > Doing it in printk() itself rather than extended netconsole ends up > > being much simpler, and has the advantage that future extended console > > implementations will be able to benefit from this as well. > > > > Signed-off-by: Calvin Owens <[email protected]> > > --- > > init/Kconfig | 8 ++++++++ > > kernel/printk/printk.c | 14 ++++++++++++++ > > 2 files changed, 22 insertions(+) > > I don't think adding a new config option is appropriate. > How about adding a log format string tunable to netconsole?
Like a generic way to append arbitrary key/val to the dict? It would still need to be configured via the kernel cmdline or at compile time: I can't rely getting to userspace. I had steered away from something more general like that because it didn't seem worth the trobule, but I can certainly go that route: what sort of format specifiers would we want? I only care about UTS_RELEASE, but I suppose UTS_NODENAME and UTS_VERSION might be handy in some cases? Thanks, Calvin > -- > Thanks, > //richard

