[PATCH] KVM: x86: Only print persistent reasons for kvm disabled once

Tony Luck
2019-08-26T18:23:23Z

When I boot my server I'm treated to a console log with:

[ 40.520510] kvm: disabled by bios
[ 40.551234] kvm: disabled by bios
[ 40.607987] kvm: disabled by bios
[ 40.659701] kvm: disabled by bios
[ 40.691224] kvm: disabled by bios
[ 40.718786] kvm: disabled by bios
[ 40.750122] kvm: disabled by bios
[ 40.797170] kvm: disabled by bios
[ 40.828408] kvm: disabled by bios

... many, many more lines, one for every logical CPU

Since it isn't likely that BIOS is going to suddenly enable
KVM between bringing up one CPU and the next, we might as
well just print this once.

Same for a few other unchanging reasons that might keep
kvm from being initialized.

Signed-off-by: Tony Luck <tony.luck@intel.com>
---
arch/x86/kvm/x86.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 93b0bd45ac73..56d4a43dd2db 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -7007,18 +7007,18 @@ int kvm_arch_init(void *opaque)
struct kvm_x86_ops *ops = opaque;

if (kvm_x86_ops) {
- printk(KERN_ERR "kvm: already loaded the other module\n");
+ pr_err_once("kvm: already loaded the other module\n");
r = -EEXIST;
goto out;
}

if (!ops->cpu_has_kvm_support()) {
- printk(KERN_ERR "kvm: no hardware support\n");
+ pr_err_once("kvm: no hardware support\n");
r = -EOPNOTSUPP;
goto out;
}
if (ops->disabled_by_bios()) {
- printk(KERN_ERR "kvm: disabled by bios\n");
+ pr_err_once("kvm: disabled by bios\n");
r = -EOPNOTSUPP;
goto out;
}
@@ -7029,7 +7029,7 @@ int kvm_arch_init(void *opaque)
* vCPU's FPU state as a fxregs_state struct.
*/
if (!boot_cpu_has(X86_FEATURE_FPU) || !boot_cpu_has(X86_FEATURE_FXSR)) {
- printk(KERN_ERR "kvm: inadequate fpu\n");
+ pr_err_once("kvm: inadequate fpu\n");
r = -EOPNOTSUPP;
goto out;
}
--
2.20.1