x86/mwait-idle: customize IceLake server support
authorChen Yu <yu.c.chen@intel.com>
Thu, 15 Oct 2020 10:29:11 +0000 (12:29 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 15 Oct 2020 10:29:11 +0000 (12:29 +0200)
commit44ac57af81ff8097e228895738b911ca819bda19
treece70fe8b7716591ec61330be8a0bcd1303c9d2e9
parentf776e5fb3ee699745f6442ec8c47d0fa647e0575
x86/mwait-idle: customize IceLake server support

On ICX platform, the C1E auto-promotion is enabled by default.
As a result, the CPU might fall into C1E more offen than previous
platforms. So disable C1E auto-promotion and expose C1E as a separate
idle state.

Beside C1 and C1E, the exit latency of C6 was measured
by a dedicated tool. However the exit latency(41us) exposed
by _CST is much smaller than the one we measured(128us). This
is probably due to the _CST uses the exit latency when woken
up from PC0+C6, rather than PC6+C6 when C6 was measured. Choose
the latter as we need the longest latency in theory.

Signed-off-by: Chen Yu <yu.c.chen@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
[Linux commit a472ad2bcea479ba068880125d7273fc95c14b70]
Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/cpu/mwait-idle.c