Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b775a27 authored by Glauber Costa's avatar Glauber Costa Committed by Ingo Molnar
Browse files

x86: make c_idle.work have a static address.



Currently, c_idle is declared in the stack, and thus, have no static address.

Peter Zijlstra points out this simple solution, in which c_idle.work
is initializated separatedly. Note that the INIT_WORK macro has a static
declaration of a key inside.

Signed-off-by: default avatarGlauber Costa <gcosta@redhat.com>
Acked-by: default avatarPeter Zijlstra <pzijlstr@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 1650743c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -554,10 +554,10 @@ static int __cpuinit do_boot_cpu(int cpu, int apicid)
	int timeout;
	unsigned long start_rip;
	struct create_idle c_idle = {
		.work = __WORK_INITIALIZER(c_idle.work, do_fork_idle),
		.cpu = cpu,
		.done = COMPLETION_INITIALIZER_ONSTACK(c_idle.done),
	};
	INIT_WORK(&c_idle.work, do_fork_idle);

	/* allocate memory for gdts of secondary cpus. Hotplug is considered */
	if (!cpu_gdt_descr[cpu].address &&