On 6/6/19 7:51 PM, Joao Martins wrote: > On 6/6/19 7:36 PM, Andrea Arcangeli wrote: >> Hello, >> >> On Thu, Jun 06, 2019 at 07:25:28PM +0100, Joao Martins wrote: >>> But I wonder whether we should fail to load cpuidle-haltpoll when host halt >>> polling can't be disabled[*]? That is to avoid polling in both host and guest >>> and *possibly* avoid chances for performance regressions when running on older >>> hypervisors? >> >> I don't think it's necessary: that would force an upgrade of the host >> KVM version in order to use the guest haltpoll feature with an >> upgraded guest kernel that can use the guest haltpoll. >> > Hence why I was suggesting a *guest* cpuidle-haltpoll module parameter to still > allow it to load or otherwise (or allow guest to pick). > By 'still allow it to load', I meant specifically to handle the case when host polling control is not supported and what to do in that case. >> The guest haltpoll is self contained in the guest, so there's no >> reason to prevent that by design or to force upgrade of the KVM host >> version. It'd be more than enough to reload kvm.ko in the host with >> the host haltpoll set to zero with the module parameter already >> available, to achieve the same runtime without requiring a forced host >> upgrade. >> > It's just with the new driver we unilaterally poll on both sides, just felt I > would point it out should this raise unattended performance side effects ;) > To be clear: by 'unilaterally' I was trying to refer to hosts KVM without polling control (which is safe to say that it is the majority atm?). Alternatively, there's always the option that if guest sees any issues on that case (with polling on both sides=, that it can always blacklist cpuidle-haltpoll. But may this is not an issue and perhaps majority of users still observes benefit when polling is enabled on guest and host. >> The warning however sounds sensible. >> > > Cool. > > Joao >