x86/HVM: avoid memory_type_changed() invocations when possible

They're expensive, and nothing changes if MTRRs are disabled and any of
the ranges gets changed, or if fixed range MTRRs are disabled and any of
them gets changed.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
This commit is contained in:
Jan Beulich committed 2018-07-18 10:36:40 +02:00
1 parent 82b9bc1320
commit 4e34e0586f
1 file changed
+5 -2
+5 -2
View File
@@ -472,7 +472,9 @@ bool_t mtrr_fix_range_msr_set(struct domain *d, struct mtrr_state *m,
return 0;
fixed_range_base[row] = msr_content;
memory_type_changed(d);
if ( m->enabled && m->fixed_enabled )
memory_type_changed(d);
}
return 1;
@@ -515,7 +517,8 @@ bool_t mtrr_var_range_msr_set(
m->overlapped = is_var_mtrr_overlapped(m);
memory_type_changed(d);
if ( m->enabled )
memory_type_changed(d);
return 1;
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.