diff options
| author | Radim Krčmář <rkrcmar@redhat.com> | 2018-02-01 15:04:17 +0100 | 
|---|---|---|
| committer | Radim Krčmář <rkrcmar@redhat.com> | 2018-02-01 15:04:17 +0100 | 
| commit | 7bf14c28ee776be567855bd39ed8ff795ea19f55 (patch) | |
| tree | 6113748c673e85fccc2c56c050697789c00c6bc2 /init/main.c | |
| parent | 87cedc6be55954c6efd6eca2e694132513f65a2a (diff) | |
| parent | 5fa4ec9cb2e6679e2f828033726f758ea314b9c5 (diff) | |
Merge branch 'x86/hyperv' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Topic branch for stable KVM clockource under Hyper-V.
Thanks to Christoffer Dall for resolving the ARM conflict.
Diffstat (limited to 'init/main.c')
| -rw-r--r-- | init/main.c | 16 | 
1 files changed, 11 insertions, 5 deletions
diff --git a/init/main.c b/init/main.c index dfec3809e740..a8100b954839 100644 --- a/init/main.c +++ b/init/main.c @@ -75,6 +75,7 @@  #include <linux/slab.h>  #include <linux/perf_event.h>  #include <linux/ptrace.h> +#include <linux/pti.h>  #include <linux/blkdev.h>  #include <linux/elevator.h>  #include <linux/sched_clock.h> @@ -504,6 +505,10 @@ static void __init mm_init(void)  	pgtable_init();  	vmalloc_init();  	ioremap_huge_init(); +	/* Should be run before the first non-init thread is created */ +	init_espfix_bsp(); +	/* Should be run after espfix64 is set up. */ +	pti_init();  }  asmlinkage __visible void __init start_kernel(void) @@ -589,6 +594,12 @@ asmlinkage __visible void __init start_kernel(void)  	radix_tree_init();  	/* +	 * Set up housekeeping before setting up workqueues to allow the unbound +	 * workqueue to take non-housekeeping into account. +	 */ +	housekeeping_init(); + +	/*  	 * Allow workqueue creation and work item queueing/cancelling  	 * early.  Work item execution depends on kthreads and starts after  	 * workqueue_init(). @@ -605,7 +616,6 @@ asmlinkage __visible void __init start_kernel(void)  	early_irq_init();  	init_IRQ();  	tick_init(); -	housekeeping_init();  	rcu_init_nohz();  	init_timers();  	hrtimers_init(); @@ -674,10 +684,6 @@ asmlinkage __visible void __init start_kernel(void)  	if (efi_enabled(EFI_RUNTIME_SERVICES))  		efi_enter_virtual_mode();  #endif -#ifdef CONFIG_X86_ESPFIX64 -	/* Should be run before the first non-init thread is created */ -	init_espfix_bsp(); -#endif  	thread_stack_cache_init();  	cred_init();  	fork_init();  | 
