From: Dave Jones Date: Mon, 16 Jul 2007 06:41:05 +0000 (-0700) Subject: Allow softlockup to be runtime disabled X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=97842216b8400fe9d1a20468959e2989180f8f79;p=deliverable%2Flinux.git Allow softlockup to be runtime disabled It's useful sometimes to disable the softlockup checker at boottime. Especially if it triggers during a distro install. Signed-off-by: Dave Jones Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index a571495a9ac6..789f97ac22bf 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -1181,6 +1181,8 @@ and is between 256 and 4096 characters. It is defined in the file nosmp [SMP] Tells an SMP kernel to act as a UP kernel. + nosoftlockup [KNL] Disable the soft-lockup detector. + nosync [HW,M68K] Disables sync negotiation for all devices. notsc [BUGS=IA-32] Disable Time Stamp Counter diff --git a/init/main.c b/init/main.c index 038c7cb52390..c8c9a0b21e99 100644 --- a/init/main.c +++ b/init/main.c @@ -728,6 +728,15 @@ static void __init do_basic_setup(void) do_initcalls(); } +static int __initdata nosoftlockup; + +static int __init nosoftlockup_setup(char *str) +{ + nosoftlockup = 1; + return 1; +} +__setup("nosoftlockup", nosoftlockup_setup); + static void __init do_pre_smp_initcalls(void) { extern int spawn_ksoftirqd(void); @@ -737,7 +746,8 @@ static void __init do_pre_smp_initcalls(void) migration_init(); #endif spawn_ksoftirqd(); - spawn_softlockup_task(); + if (!nosoftlockup) + spawn_softlockup_task(); } static void run_init_process(char *init_filename)