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 <jbeul...@suse.com> --- a/xen/arch/x86/hvm/mtrr.c +++ b/xen/arch/x86/hvm/mtrr.c @@ -472,7 +472,9 @@ bool_t mtrr_fix_range_msr_set(struct dom 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; } _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel