diff options
author | Dave Jones <davej@redhat.com> | 2007-07-15 23:41:05 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 09:05:47 -0700 |
commit | 97842216b8400fe9d1a20468959e2989180f8f79 (patch) | |
tree | 63d0d731e0e93d5ef9ac1a23734c60cd0f0664f2 | |
parent | ea5a3dcfda1c9140228f2842ea9b01e1713c559a (diff) | |
download | op-kernel-dev-97842216b8400fe9d1a20468959e2989180f8f79.zip op-kernel-dev-97842216b8400fe9d1a20468959e2989180f8f79.tar.gz |
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 <davej@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | Documentation/kernel-parameters.txt | 2 | ||||
-rw-r--r-- | init/main.c | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index a571495..789f97a 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 038c7cb..c8c9a0b 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) |