aboutsummaryrefslogtreecommitdiffstats
path: root/init/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'init/main.c')
-rw-r--r--init/main.c12
1 files changed, 11 insertions, 1 deletions
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)
728 do_initcalls(); 728 do_initcalls();
729} 729}
730 730
731static int __initdata nosoftlockup;
732
733static int __init nosoftlockup_setup(char *str)
734{
735 nosoftlockup = 1;
736 return 1;
737}
738__setup("nosoftlockup", nosoftlockup_setup);
739
731static void __init do_pre_smp_initcalls(void) 740static void __init do_pre_smp_initcalls(void)
732{ 741{
733 extern int spawn_ksoftirqd(void); 742 extern int spawn_ksoftirqd(void);
@@ -737,7 +746,8 @@ static void __init do_pre_smp_initcalls(void)
737 migration_init(); 746 migration_init();
738#endif 747#endif
739 spawn_ksoftirqd(); 748 spawn_ksoftirqd();
740 spawn_softlockup_task(); 749 if (!nosoftlockup)
750 spawn_softlockup_task();
741} 751}
742 752
743static void run_init_process(char *init_filename) 753static void run_init_process(char *init_filename)