Re: [PATCH v3] printk: Add boottime and real timestamps

From: Sergey Senozhatsky
Date: Mon Aug 07 2017 - 09:33:55 EST


On (08/07/17 08:41), Prarit Bhargava wrote:
[..]
> >> +static int printk_time_set(const char *val, const struct kernel_param *kp)
> >> +{
> >> + char *param = strstrip((char *)val);
> >> + int _printk_time;
> >> +
> >> + if (strlen(param) != 1)
> >> + return -EINVAL;
> > (see below) strlen is so restrictive, wouldn't it be nice(tm) to allow "boot",
> > "monotonic" or "realtime" strings? Certainly KISS can handle the first letters
> > for next to zero cost. (switch statement optimization)
>
> Thanks Mark,
>
> I had asked this question before and didn't get an answer: Do I need to
> worry about the ABI of /sys/modules/printk/parameters/time. Since it hasn't
> been explicitly added to the stable ABI files, I'm going to assume it wasn't
> important enough to add it. Looking at google, however, leads to a lot
> of hits for 'printk.time' kernel parameters settings so I think I better
> maintain the legacy boolean settings.

yes, please. we have to preserve it.

> I'm going to do: 0/n/N/1/y/Y to maintain the existing ABI, and add (as you
> suggest above 'disable|local|boottime|monotonic|realtime' as valid
> parameters.
>
> >> +
> >> + switch (param[0]) {
> >> + case '0':
> >> + case 'n':
> >> + case 'N':
> > I would wish for a few more 'convenience' cases:
> >
> > case 'd': case 'D': /* Disable */
>
> It would be trivial then to add only the lower case options (I dislike upper
> case settings ...) by adding

yes, please. lower case only.

-ss