2017-11-09 19:30+0100, Paolo Bonzini: > On 09/11/2017 16:22, Radim Krčmář wrote: > > 2017-11-08 14:32+0200, Eyal Moscovici: > >> Some guests use these unhandled MSRs very frequently. > >> This cause dmesg to be populated with lots of aggregated messages on > >> usage of ignored MSRs. As ignore_msrs=true means that the user is > >> well-aware his guest use ignored MSRs, allow to also disable the > >> prints on their usage. > >> > >> An example of such guest is ESXi which tends to access a lot to MSR > >> 0x34 (MSR_SMI_COUNT) very frequently. > >> > >> In addition, we have observed this to cause unnecessary delays to > >> guest execution. Such an example is ESXi which experience networking > >> delays in it's guests (L2 guests) because of these prints (even when > >> prints are rate-limited). This can easily be reproduced by pinging > >> from one L2 guest to another. Once in a while, a peak in ping RTT > >> will be observed. Removing these unhandled MSR prints solves the > >> issue. > >> > >> Because these prints can help diagnose issues with guests, > >> this commit only suppress them by a module parameter instead of > >> removing them from code entirely. > >> > >> Signed-off-by: Eyal Moscovici <eyal.moscovici@xxxxxxxxxx> > >> Reviewed-by: Liran Alon <liran.alon@xxxxxxxxxx> > >> Reviewed-by: Krish Sadhukhan <krish.sadhukhan@xxxxxxxxxx> > >> Signed-off-by: Krish Sadhukhan <krish.sadhukhan@xxxxxxxxxx> > >> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > >> --- > >> arch/x86/kvm/x86.c | 17 +++++++++++++---- > >> 1 file changed, 13 insertions(+), 4 deletions(-) > >> > >> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > >> index 03869eb..21c0059 100644 > >> --- a/arch/x86/kvm/x86.c > >> +++ b/arch/x86/kvm/x86.c > >> @@ -107,6 +107,9 @@ > >> static bool __read_mostly ignore_msrs = 0; > >> module_param(ignore_msrs, bool, S_IRUGO | S_IWUSR); > >> > >> +static bool __read_mostly suppress_ignore_msrs_prints = false; > >> +module_param(suppress_ignore_msrs_prints, bool, S_IRUGO | S_IWUSR); > > > > What about calling it 'print_ignored_msrs' and default to true? > > Makes sense! s/print/report/ perhaps? s/suppress_ignore_msrs_prints/report_ignored_msrs/ and applied, thanks.