diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index a571495a9ac6c3bce9b3fe4ee75b908af1a90b9d..789f97ac22bf086c2b9320bb9db5fb3753d7df78 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 038c7cb52390caf7ffe5b80b092f9dd9c80a8489..c8c9a0b21e99abce2ce6064d155e1091b4929daa 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)