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

Commit 4c738480 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds
Browse files

mtrr atomicity fix



Rafael gets this on an SMP box with kernel preemption enabled, during
hibernation and restore (100% of the time):

Enabling non-boot CPUs ...
BUG: using smp_processor_id() in preemptible [00000001] code: bash/4514
caller is mtrr_save_state+0x9/0x40

Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e44a45ae
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -734,10 +734,13 @@ void mtrr_ap_init(void)
 */
void mtrr_save_state(void)
{
	if (smp_processor_id() == 0)
	int cpu = get_cpu();

	if (cpu == 0)
		mtrr_save_fixed_ranges(NULL);
	else
		smp_call_function_single(0, mtrr_save_fixed_ranges, NULL, 1, 1);
	put_cpu();
}

static int __init mtrr_init_finialize(void)