Skip to content

Commit

Permalink
x86/mtrr: Avoid repeated save of MTRRs on boot-time CPU bringup
Browse files Browse the repository at this point in the history
There's no need to repeatedly save the BSP's MTRRs for each AP being
brought up at boot time. And no need to use smp_call_function_single()
even for the one time they do need to be saved.

Signed-off-by: David Woodhouse <[email protected]>
Signed-off-by: Usama Arif <[email protected]>
Signed-off-by: Paul E. McKenney <[email protected]>
  • Loading branch information
dwmw2 authored and paulmckrcu committed Feb 9, 2023
1 parent b760019 commit ce77791
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions arch/x86/kernel/cpu/mtrr/mtrr.c
Original file line number Diff line number Diff line change
Expand Up @@ -721,11 +721,20 @@ void __init mtrr_bp_init(void)
*/
void mtrr_save_state(void)
{
static bool mtrr_saved;
int first_cpu;

if (!mtrr_enabled())
return;

if (system_state < SYSTEM_RUNNING) {
if (!mtrr_saved) {
mtrr_save_fixed_ranges(NULL);
mtrr_saved = true;
}
return;
}

first_cpu = cpumask_first(cpu_online_mask);
smp_call_function_single(first_cpu, mtrr_save_fixed_ranges, NULL, 1);
}
Expand Down

0 comments on commit ce77791

Please sign in to comment.