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); 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.