Re: disabling halt polling broken? (was Re: [PATCH 00/14] KVM: Halt-polling fixes, cleanups and a new stat)

From: Sean Christopherson
Date: Mon Sep 27 2021 - 11:16:02 EST


On Mon, Sep 27, 2021, Paolo Bonzini wrote:
> On 27/09/21 16:59, Sean Christopherson wrote:
> > > commit acd05785e48c01edb2c4f4d014d28478b5f19fb5
> > > Author: David Matlack<dmatlack@xxxxxxxxxx>
> > > AuthorDate: Fri Apr 17 15:14:46 2020 -0700
> > > Commit: Paolo Bonzini<pbonzini@xxxxxxxxxx>
> > > CommitDate: Fri Apr 24 12:53:17 2020 -0400
> > >
> > > kvm: add capability for halt polling
> > >
> > > broke the possibility for an admin to disable halt polling for already running KVM guests.
> > > In past times doing
> > > echo 0 > /sys/module/kvm/parameters/halt_poll_ns
> > >
> > > stopped polling system wide.
> > > Now all KVM guests will use the halt_poll_ns value that was active during
> > > startup - even those that do not use KVM_CAP_HALT_POLL.
> > >
> > > I guess this was not intended?
>
> No, but...
>
> > I would go so far as to say that halt_poll_ns should be a hard limit on
> > the capability
>
> ... this would not be a good idea I think. Anything that wants to do a lot
> of polling can just do "for (;;)".

Hmm, true, there is no danger to the system in having the capability override the
module param.

> So I think there are two possibilities that makes sense:
>
> * track what is using KVM_CAP_HALT_POLL, and make writes to halt_poll_ns
> follow that

I think this option makes more sense, making halt_poll_ns read-only is basically
forcing users to switch to KVM_CAP_HALT_POLL.

> * just make halt_poll_ns read-only.
>
> Paolo
>