Re: [PATCH -next v1] x86/apic: Reduce print level of CPU limit announcement

From: Joe Perches
Date: Wed Mar 27 2019 - 06:17:08 EST


On Wed, 2019-03-27 at 12:11 +0200, Leon Romanovsky wrote:
> On Wed, Mar 27, 2019 at 11:53:37AM +0200, Leon Romanovsky wrote:
> > On Wed, Mar 27, 2019 at 02:49:02AM -0700, Joe Perches wrote:
> > > On Wed, 2019-03-27 at 11:38 +0200, Leon Romanovsky wrote:
> > > > On Wed, Mar 27, 2019 at 02:17:40AM -0700, Joe Perches wrote:
> > > > > On Wed, 2019-03-27 at 11:09 +0200, Leon Romanovsky wrote:
> > > > > > Kernel is booted with less possible CPUs (possible_cpus kernel boot
> > > > > > option) than available CPUs will have prints like this:
> > > > > []
> > > > > > diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> > > > > []
> > > > > > @@ -2305,9 +2305,9 @@ int generic_processor_info(int apicid, int version)
> > > > > > if (num_processors >= nr_cpu_ids) {
> > > > > > int thiscpu = max + disabled_cpus;
> > > > > >
> > > > > > - pr_warning("APIC: NR_CPUS/possible_cpus limit of %i "
> > > > > > - "reached. Processor %d/0x%x ignored.\n",
> > > > > > - max, thiscpu, apicid);
> > > > > > + pr_debug(
> > > > > > + "APIC: NR_CPUS/possible_cpus limit of %i reached. Processor %d/0x%x ignored.\n",
> > > > > > + max, thiscpu, apicid);
> > > > >
> > > > > 2 lines please
> > > > >
> > > > > pr_debug("APIC: etc...",
> > > > > max, thiscpu, ...);
> > > >
> > > > It was two lines before, but I changed for two reasons:
> > > > * It helped me to grep the source code to find the origin of dmesg warning.
> > > > * i got checkpatch warning about spitted string, can you please fix checkpatch do not complain?
> > >
> > > Yes, use
> > >
> > > pr_debug("APIC: NR_CPUS/possible_cpus limit of %i reached. Processor %d/0x%x ignored.\n",
> > > max, thiscpu, apicid);
> >
> > Ahh, I see, I got such change from clang formatter.
> >
> > > or better
> > >
> > > printk(KERN_DEBUG "APIC: NR_CPUS/possible_cpus limit of %i reached. Processor %d/0x%x ignored.\n",
> > > max, thiscpu, apicid);
> > >
> > > > > And this would probably be better as
> > > > >
> > > > > printk(KERN_DEBUG "APIC: etc...",
> > > > > ...)
> > > > >
> > > > > to avoid the need to compile with DEBUG or enable
> > > > > with CONFIG_DYNAMIC_DEBUG
> > > >
> > > > You don't need anything like this, just provide dyndbg parameters
> > > > through kernel command line.
> > >
> > > That assumes CONFIG_DYNAMIC_DEBUG is always enabled,
> > > and it is not enabled in many .config files.
> >
> > No problem.
>
> ok, I tested your variant and it still prints a t least on my systems,
> so it won't solve my problem. I'll keep this patch as is.

I believe it's more common to set the console logging level
to exclude the KERN_DEBUG level when appropriate.

https://linuxconfig.org/introduction-to-the-linux-kernel-log-levels