Re: [PATCH] printk: Print cpuid along with the timestamp withCONFIG_PRINTK_TIME

From: Andrew Morton
Date: Thu Sep 18 2008 - 15:52:20 EST


On Thu, 18 Sep 2008 12:37:20 -0700
Ravikiran G Thirumalai <kiran@xxxxxxxxxxxx> wrote:

> I found it useful to have the cpuid of the printing cpu along with the
> timestamp -- especially while debugging hangs during bootups.
>
> I don't know why this hasn't been implemened in the kernel yet, and
> cannot think of a strong reason not to have it. Yes, the cpuid prefix will
> take 5 more characters per line, but having the cpuid info is worth it,
> I think.
>
> Thanks,
> Kiran
>
> ---
>
>
> Add cpuid information to printk if CONFIG_PRINTK_TIME is enabled.
> This information is useful to debug hangs and bootup issues.
>
> Signed-off-by: Ravikiran Thirumalai <kiran@xxxxxxxxxxxx>
>
> Index: linux-git/kernel/printk.c
> ===================================================================
> --- linux-git.orig/kernel/printk.c 2008-09-16 15:37:48.000000000 -0700
> +++ linux-git/kernel/printk.c 2008-09-18 12:27:10.489662938 -0700
> @@ -739,9 +739,10 @@ asmlinkage int vprintk(const char *fmt,
>
> t = cpu_clock(printk_cpu);
> nanosec_rem = do_div(t, 1000000000);
> - tlen = sprintf(tbuf, "[%5lu.%06lu] ",
> + tlen = sprintf(tbuf, "[%5lu.%06lu:%d] ",
> (unsigned long) t,
> - nanosec_rem / 1000);
> + nanosec_rem / 1000,
> + printk_cpu);
>
> for (tp = tbuf; tp < tbuf + tlen; tp++)
> emit_log_char(*tp);

Yes, I guess it could be useful sometimes. otoh anyone who is down at
that level of detail and is using printk to debug something can add
their own %d/smp_processor_id().

Your patch illogically ties the cpu-id-printing feature to the
printk.time feature. I guess that's liveable with, but
Documentation/kernel-parameters.txt should be updated.

Anyone who was parsing that output might get a shock, but that's
liveable with too. Probably their parser will continue to work anwyay.


I don't know whether the usefulness of this feature outweighs its
various costs. Input is sought.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/