Allow softlockup to be runtime disabled
authorDave Jones <davej@redhat.com>
Mon, 16 Jul 2007 06:41:05 +0000 (23:41 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 16 Jul 2007 16:05:47 +0000 (09:05 -0700)
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>
Documentation/kernel-parameters.txt
init/main.c

index a571495..789f97a 100644 (file)
@@ -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
index 038c7cb..c8c9a0b 100644 (file)
@@ -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)