From: Jes Sorensen <jes@wildopensource.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org, David Mosberger <davidm@hpl.hp.com>,
jbarnes@sgi.com, Rusty Russell <rusty@rustcorp.com.au>,
Andi Kleen <ak@suse.de>
Subject: Re: [patch] quiet down SMP boot messages
Date: 11 Dec 2003 09:11:40 -0500 [thread overview]
Message-ID: <yq0ad5z30mb.fsf@wildopensource.com> (raw)
In-Reply-To: <yq0fzfr32ib.fsf@wildopensource.com>
>>>>> "Jes" == Jes Sorensen <jes@wildopensource.com> writes:
Jes> Hi, I'd like to propose this patch for 2.6.0 or 2.6.1 to quiet
Jes> down some of the excessive boot messages printed for each
Jes> CPU. The patch simply introduces a boot time variable
Jes> 'smpverbose' which users can set if they experience problems and
Jes> want to see the full set of messages.
Hi,
Here is an improved version. Andi suggested that I move the
smp_verbose prototype to include/linux/smp.h and I also nailed another
NULL initializer in init/main.c
Oh and I fixed my b0rked spelling as well - time to look at the screen
when typing ;-)
Cheers,
Jes
diff -urN -X /usr/people/jes/exclude-linux orig/linux-2.6.0-test11-ia64/arch/ia64/kernel/setup.c linux-2.6.0-test11-ia64/arch/ia64/kernel/setup.c
--- orig/linux-2.6.0-test11-ia64/arch/ia64/kernel/setup.c Wed Nov 26 12:43:06 2003
+++ linux-2.6.0-test11-ia64/arch/ia64/kernel/setup.c Thu Dec 11 06:07:56 2003
@@ -516,8 +516,10 @@
impl_va_msb = vm2.pal_vm_info_2_s.impl_va_msb;
phys_addr_size = vm1.pal_vm_info_1_s.phys_add_size;
}
- printk(KERN_INFO "CPU %d: %lu virtual and %lu physical address bits\n",
- smp_processor_id(), impl_va_msb + 1, phys_addr_size);
+ if (smp_verbose)
+ printk(KERN_INFO "CPU %d: %lu virtual and %lu physical "
+ "address bits\n", smp_processor_id(),
+ impl_va_msb + 1, phys_addr_size);
c->unimpl_va_mask = ~((7L<<61) | ((1L << (impl_va_msb + 1)) - 1));
c->unimpl_pa_mask = ~((1L<<63) | ((1L << phys_addr_size) - 1));
}
diff -urN -X /usr/people/jes/exclude-linux orig/linux-2.6.0-test11-ia64/arch/ia64/kernel/smpboot.c linux-2.6.0-test11-ia64/arch/ia64/kernel/smpboot.c
--- orig/linux-2.6.0-test11-ia64/arch/ia64/kernel/smpboot.c Thu Dec 11 04:22:40 2003
+++ linux-2.6.0-test11-ia64/arch/ia64/kernel/smpboot.c Thu Dec 11 06:08:03 2003
@@ -403,7 +403,8 @@
if (cpu_isset(cpu, cpu_callin_map)) {
/* number CPUs logically, starting from 1 (BSP is 0) */
- printk(KERN_INFO "CPU%d: CPU has booted.\n", cpu);
+ if (smp_verbose)
+ printk(KERN_INFO "CPU %d: CPU has booted.\n", cpu);
} else {
printk(KERN_ERR "Processor 0x%x/0x%x is stuck.\n", cpu, sapicid);
ia64_cpu_to_sapicid[cpu] = -1;
@@ -578,14 +579,17 @@
if (sapicid == -1)
return -EINVAL;
- printk(KERN_INFO "Processor %d/%d is spinning up...\n", sapicid, cpu);
+ if (smp_verbose)
+ printk(KERN_INFO "Processor %d/%d is spinning up...\n",
+ sapicid, cpu);
/* Processor goes to start_secondary(), sets online flag */
ret = do_boot_cpu(sapicid, cpu);
if (ret < 0)
return ret;
- printk(KERN_INFO "Processor %d has spun up...\n", cpu);
+ if (smp_verbose)
+ printk(KERN_INFO "Processor %d has spun up...\n", cpu);
return 0;
}
diff -urN -X /usr/people/jes/exclude-linux orig/linux-2.6.0-test11-ia64/arch/ia64/sn/kernel/setup.c linux-2.6.0-test11-ia64/arch/ia64/sn/kernel/setup.c
--- orig/linux-2.6.0-test11-ia64/arch/ia64/sn/kernel/setup.c Thu Dec 11 04:22:40 2003
+++ linux-2.6.0-test11-ia64/arch/ia64/sn/kernel/setup.c Thu Dec 11 06:07:51 2003
@@ -386,8 +386,9 @@
cnode = nasid_to_cnodeid(nasid);
slice = cpu_physical_id_to_slice(cpuphyid);
- printk("CPU %d: nasid %d, slice %d, cnode %d\n",
- smp_processor_id(), nasid, slice, cnode);
+ if (smp_verbose)
+ printk("CPU %d: nasid %d, slice %d, cnode %d\n",
+ smp_processor_id(), nasid, slice, cnode);
memset(pda, 0, sizeof(pda));
pda->p_nodepda = nodepdaindr[cnode];
diff -urN -X /usr/people/jes/exclude-linux orig/linux-2.6.0-test11-ia64/include/linux/smp.h linux-2.6.0-test11-ia64/include/linux/smp.h
--- orig/linux-2.6.0-test11-ia64/include/linux/smp.h Wed Nov 26 12:44:20 2003
+++ linux-2.6.0-test11-ia64/include/linux/smp.h Thu Dec 11 05:50:13 2003
@@ -90,6 +90,8 @@
*/
void smp_prepare_boot_cpu(void);
+extern int smp_verbose;
+
#else /* !SMP */
/*
@@ -106,6 +108,8 @@
#define cpu_possible(cpu) ({ BUG_ON((cpu) != 0); 1; })
#define smp_prepare_boot_cpu() do {} while (0)
+#define smp_verbose 0
+
#endif /* !SMP */
#define get_cpu() ({ preempt_disable(); smp_processor_id(); })
diff -urN -X /usr/people/jes/exclude-linux orig/linux-2.6.0-test11-ia64/init/main.c linux-2.6.0-test11-ia64/init/main.c
--- orig/linux-2.6.0-test11-ia64/init/main.c Thu Dec 11 04:22:42 2003
+++ linux-2.6.0-test11-ia64/init/main.c Thu Dec 11 05:51:46 2003
@@ -108,7 +108,7 @@
extern void time_init(void);
/* Default late time init is NULL. archs can override this later. */
-void (*late_time_init)(void) = NULL;
+void (*late_time_init)(void);
extern void softirq_init(void);
int rows, cols;
@@ -144,6 +144,18 @@
__setup("maxcpus=", maxcpus);
+#ifdef CONFIG_SMP
+/* Default to quiet boots, this can be overridden by the user */
+int smp_verbose;
+static int __init smpverbose(char *str)
+{
+ smp_verbose = 1;
+ return 1;
+}
+
+__setup("smpverbose", smpverbose);
+#endif
+
static char * argv_init[MAX_INIT_ARGS+2] = { "init", NULL, };
char * envp_init[MAX_INIT_ENVS+2] = { "HOME=/", "TERM=linux", NULL, };
@@ -369,13 +381,15 @@
if (num_online_cpus() >= max_cpus)
break;
if (cpu_possible(i) && !cpu_online(i)) {
- printk("Bringing up %i\n", i);
+ if (smp_verbose)
+ printk("Bringing up %i\n", i);
cpu_up(i);
}
}
/* Any cleanup work */
- printk("CPUS done %u\n", max_cpus);
+ if (smp_verbose)
+ printk("CPUS done %u\n", max_cpus);
smp_cpus_done(max_cpus);
#if 0
/* Get other processors into their bootup holding patterns. */
diff -urN -X /usr/people/jes/exclude-linux orig/linux-2.6.0-test11-ia64/kernel/cpu.c linux-2.6.0-test11-ia64/kernel/cpu.c
--- orig/linux-2.6.0-test11-ia64/kernel/cpu.c Wed Nov 26 12:45:31 2003
+++ linux-2.6.0-test11-ia64/kernel/cpu.c Thu Dec 11 06:08:11 2003
@@ -14,7 +14,7 @@
/* This protects CPUs going up and down... */
DECLARE_MUTEX(cpucontrol);
-static struct notifier_block *cpu_chain = NULL;
+static struct notifier_block *cpu_chain;
/* Need to know about CPUs going up/down? */
int register_cpu_notifier(struct notifier_block *nb)
@@ -55,7 +55,8 @@
BUG();
/* Now call notifier in preparation. */
- printk("CPU %u IS NOW UP!\n", cpu);
+ if (smp_verbose)
+ printk("CPU %u IS NOW UP!\n", cpu);
notifier_call_chain(&cpu_chain, CPU_ONLINE, hcpu);
out_notify:
next prev parent reply other threads:[~2003-12-11 14:12 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-12-11 13:30 [patch] quite down SMP boot messages Jes Sorensen
2003-12-11 14:11 ` Jes Sorensen [this message]
2003-12-11 19:48 ` Christoph Hellwig
2003-12-12 1:50 ` Rusty Russell
2003-12-12 8:46 ` Jes Sorensen
2003-12-12 22:16 ` Pavel Machek
2003-12-12 22:27 ` David Mosberger
2003-12-15 11:57 ` Jes Sorensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=yq0ad5z30mb.fsf@wildopensource.com \
--to=jes@wildopensource.com \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=davidm@hpl.hp.com \
--cc=jbarnes@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox