Re: [RESEND] ACPI / processor_idle: use dead loop instead of io port access for wait
From: Rafael J. Wysocki
Date: Mon Oct 14 2019 - 05:38:21 EST
On Friday, October 11, 2019 3:30:41 PM CEST Yin, Fengwei wrote:
>
> On 10/11/2019 5:05 PM, Rafael J. Wysocki wrote:
> > Sorry for the delay.
> No problem.
>
> >
> > On Monday, September 9, 2019 9:39:37 AM CEST Yin Fengwei wrote:
> >> In function acpi_idle_do_entry(), we do an io port access to guarantee
> >> hardware behavior. But it could trigger unnecessary vmexit for
> >> virtualization environemnt.
> >
> > Is this a theoretical problem, or do you actually see it?
> >
> > If you see it, I'd like to have a pointer to a bug report regarding it
> > or similar.
> We did see this issue when we run linux as guest with ACRN hypervisor
> instead of kvm or xen. In our case, we export all native C states to
> guest and let guest choose which C state it will enter.
>
> And we observed many pm timer port access when guest tried to enter
> deeper C state (Yes, we emulate pm timer so pm timer access will trigger
> vmexit).
Can you please put this information into the changelog of your patch?
It works very well as a rationale for me. :-)