ACPI: processor_idle: Skip dummy wait if kernel is in guest
authorYin Fengwei <fengwei.yin@intel.com>
Thu, 24 Oct 2019 07:04:20 +0000 (15:04 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 25 Oct 2019 08:33:20 +0000 (10:33 +0200)
commitfa583f71a99c85e52781ed877c82c8757437b680
treefa54190e35692da84de4a2af92005ce1828be427
parent918c1fe9fbbe46fcf56837ff21f0ef96424e8b29
ACPI: processor_idle: Skip dummy wait if kernel is in guest

In function acpi_idle_do_entry(), an ioport access is used for
dummy wait to guarantee hardware behavior. But it could trigger
unnecessary VMexit if kernel is running as guest in virtualization
environment.

If it's in virtualization environment, the deeper C state enter
operation (inb()) will trap to hypervisor. It's not needed to do
dummy wait after the inb() call. So we could just remove the
dummy io port access to avoid unnecessary VMexit.

And keep dummy io port access to maintain timing for native
environment.

Signed-off-by: Yin Fengwei <fengwei.yin@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/processor_idle.c