diff options
Diffstat (limited to 'init/main.c')
-rw-r--r-- | init/main.c | 12 |
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 | ||
731 | static int __initdata nosoftlockup; | ||
732 | |||
733 | static int __init nosoftlockup_setup(char *str) | ||
734 | { | ||
735 | nosoftlockup = 1; | ||
736 | return 1; | ||
737 | } | ||
738 | __setup("nosoftlockup", nosoftlockup_setup); | ||
739 | |||
731 | static void __init do_pre_smp_initcalls(void) | 740 | static 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 | ||
743 | static void run_init_process(char *init_filename) | 753 | static void run_init_process(char *init_filename) |