Re: [PATCH] printk: add cpu id information to printk() output

From: Enlin Mu
Date: Fri Sep 15 2023 - 04:46:36 EST


John Ogness <john.ogness@xxxxxxxxxxxxx> 于2023年9月15日周五 16:34写道:
>
> On 2023-09-15, Enlin Mu <enlin.mu@xxxxxxxxxxx> wrote:
> > Sometimes we want to print cpu id of printk() messages to consoles
> >
> > diff --git a/include/linux/threads.h b/include/linux/threads.h
> > index c34173e6c5f1..6700bd9a174f 100644
> > --- a/include/linux/threads.h
> > +++ b/include/linux/threads.h
> > @@ -34,6 +34,9 @@
> > #define PID_MAX_LIMIT (CONFIG_BASE_SMALL ? PAGE_SIZE * 8 : \
> > (sizeof(long) > 4 ? 4 * 1024 * 1024 : PID_MAX_DEFAULT))
> >
> > +#define CPU_ID_SHIFT 23
> > +#define CPU_ID_MASK 0xff800000
>
> This only supports 256 CPUs. I think it doesn't make sense to try to
> squish CPU and Task IDs into 32 bits.
Yes, it is not good way,
>
> What about introducing a caller_id option to always only print the CPU
> ID? Or do you really need Task _and_ CPU?
Yes, I need it.Because I need to know which CPU is printing the
log, so that I can identify the current system operation, such as load
situation and CPU busy/idle status
>
> John Ogness

Thanks

Enlin