On 07/06/19 19:16, Marcelo Tosatti wrote: > There is no "target residency" concept in the virtualized use-case > (which is what poll_state.c uses to calculate the poll time). Actually there is: it is the cost of a vmexit, and it be calibrated with a very short CPUID loop (e.g. run 100 CPUID instructions and take the smallest TSC interval---it should take less than 50 microseconds, and less than a millisecond even on nested virt). I think it would make sense to improve poll_state.c to use an adaptive algorithm similar to the one you implemented, which includes optionally allowing to poll for an interval larger than the target residency. Paolo