On Fri, Feb 14, 2020 at 03:30:35PM +0100, Erwan Velu wrote: > The current behavior is to print a "disabled by bios" message per CPU thread. > As modern CPUs can have up to 64 cores, 128 on a dual socket, and turns this > printk to be a pretty noisy by showing up to 256 times the same line in a row. > > This patch offer to only print the message once per host considering the BIOS will > disabled the feature for all sockets/cores at once and not on a per core basis. This has come up before[*]. Using _once() doesn't fully solve the issue when KVM is built as a module. The spam is more than likely a userspace bug, i.e. userspace is probing KVM on every CPU. [*] https://lkml.kernel.org/r/20190826182320.9089-1-tony.luck@xxxxxxxxx > Signed-off-by: Erwan Velu <e.velu@xxxxxxxxxx> > --- > arch/x86/kvm/x86.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index fbabb2f06273..8f0d7a09d453 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -7300,7 +7300,7 @@ int kvm_arch_init(void *opaque) > goto out; > } > if (ops->disabled_by_bios()) { > - printk(KERN_ERR "kvm: disabled by bios\n"); > + printk_once(KERN_ERR "kvm: disabled by bios\n"); > r = -EOPNOTSUPP; > goto out; > } > -- > 2.24.1 >