Re: [PATCH v1 04/25] lib/vsprintf: Print time and date in human readable format via %pt
From: Andy Shevchenko
Date: Thu Jul 20 2017 - 06:31:03 EST
On Thu, 2017-06-08 at 23:45 +0200, Arnd Bergmann wrote:
> On Thu, Jun 8, 2017 at 11:25 PM, Andy Shevchenko
> <andy.shevchenko@xxxxxxxxx> wrote:
> > On Thu, Jun 8, 2017 at 11:42 PM, Rasmus Villemoes
> > <linux@xxxxxxxxxxxxxxxxxx> wrote:
> > > On Thu, Jun 08 2017, Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> > > wrote:
> > > > On Thu, Jun 8, 2017 at 9:41 PM, Alexandre Belloni
> > > > <alexandre.belloni@xxxxxxxxxxxxxxxxxx> wrote:
> > > > > On 08/06/2017 at 20:57:05 +0300, Andy Shevchenko wrote:
> > > > > > On Thu, Jun 8, 2017 at 6:05 PM, Alexandre Belloni
> > > > > > <alexandre.belloni@xxxxxxxxxxxxxxxxxx> wrote:
> > > > Yeah, but the problem is to pass the reference. All dances
> > > > around will
> > > > uglify the code.
> > > > (Obviously we can't pass timespec64/time64_t or anything longer
> > > > than
> > > > 32 bits as is in %p extension)
> > > I like that this gets rid of some mm/dd/yy and other more or less
> > > random
> > > format and ends up standardizing yyyy-mm-dd HH:MM:SS. However, I
> > > do
> > > think %pt should take either ktime_t or timespec64 (obviously by
> > > reference),
> >
> > I will try to look in this direction.
>
> sounds good.
>
> > > Please don't give people the option of eliding either the time or
> > > the
> > > date; I've spent too much time dealing with syslog files that
> > > don't
> > > include the year in the timestamps.
> >
> > I understand that, but see above.
>
> When we pretty-print a ktime_t, we probably want to leave out the high
> fields as well, as this often refers to a time interval, e.g. a few
> seconds.
> Even for absolute values, the start of ktime_t is usually not the 1970
> epoch but system boot, so we may not necessarily want the higher
> fields. I hoped to find some inspiration in the 'date' man page, which
> contains a lot of formatting options, but it's hard to translate that
> into
> a useful format string within the constraints of %p flags in printk.
Rasmus et al.,
Summarizing this discussion I would go forward with the following
- add one more letter in the format to provide argument type (timespec,
ktime, ...)
- make a config option to enable / disable this facility and select it
by users (and/or make it visible for configuration?)
- still leave possibility to print either date or time or both
- add suffix to print nanoseconds in cases where input has them (and
output is not just plain date)
- address other (technical) comments
--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy