Messages in this thread | | | From | Wanpeng Li <> | Date | Tue, 13 Aug 2019 08:55:29 +0800 | Subject | Re: [PATCH] cpuidle-haltpoll: Enable kvm guest polling when dedicated physical CPUs are available |
| |
On Sun, 4 Aug 2019 at 04:21, Marcelo Tosatti <mtosatti@redhat.com> wrote: > > On Thu, Aug 01, 2019 at 06:54:49PM +0200, Paolo Bonzini wrote: > > On 01/08/19 18:51, Rafael J. Wysocki wrote: > > > On 8/1/2019 9:06 AM, Wanpeng Li wrote: > > >> From: Wanpeng Li <wanpengli@tencent.com> > > >> > > >> The downside of guest side polling is that polling is performed even > > >> with other runnable tasks in the host. However, even if poll in kvm > > >> can aware whether or not other runnable tasks in the same pCPU, it > > >> can still incur extra overhead in over-subscribe scenario. Now we can > > >> just enable guest polling when dedicated pCPUs are available. > > >> > > >> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > >> Cc: Paolo Bonzini <pbonzini@redhat.com> > > >> Cc: Radim Krčmář <rkrcmar@redhat.com> > > >> Cc: Marcelo Tosatti <mtosatti@redhat.com> > > >> Signed-off-by: Wanpeng Li <wanpengli@tencent.com> > > > > > > Paolo, Marcelo, any comments? > > > > Yes, it's a good idea. > > > > Acked-by: Paolo Bonzini <pbonzini@redhat.com> > > > > Paolo >
Hi Marcelo,
Sorry for the late response.
> I think KVM_HINTS_REALTIME is being abused somewhat. > It has no clear meaning and used in different locations > for different purposes.
================== ============ ================================= KVM_HINTS_REALTIME 0 guest checks this feature bit to
determine that vCPUs are never
preempted for an unlimited time
allowing optimizations ================== ============ =================================
Now it disables pv queued spinlock, pv tlb shootdown, pv sched yield which are not expected present in vCPUs are never preempted for an unlimited time scenario.
> > For example, i think that using pv queued spinlocks and > haltpoll is a desired scenario, which the patch below disallows.
So even if dedicated pCPU is available, pv queued spinlocks should still be chose if something like vhost-kthreads are used instead of DPDK/vhost-user. kvm adaptive halt-polling will compete with vhost-kthreads, however, poll in guest unaware other runnable tasks in the host which will defeat vhost-kthreads.
Regards, Wanpeng Li
| |