RE: [PATCH] KVM: x86: use TPAUSE to replace PAUSE in halt polling

From: David Laight
Date: Wed Aug 24 2022 - 10:08:33 EST


From: Dapeng Mi
> Sent: 24 August 2022 10:11
>
> TPAUSE is a new instruction on Intel processors which can instruct
> processor enters a power/performance optimized state. Halt polling
> uses PAUSE instruction to wait vCPU is waked up. The polling time
> could be long and cause extra power consumption in some cases.
>
> Use TPAUSE to replace the PAUSE instruction in halt polling to get
> a better power saving and performance.

What is the effect on wakeup latency?
Quite often that is far more important than a bit of power saving.

The automatic entry of sleep states is a PITA already.
Block 30 RT threads in cv_wait() and then do cv_broadcast().
Use ftrace to see just how long it takes the last thread
to wake up.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)