x86/mwait-idle: customize IceLake server support
authorChen Yu <yu.c.chen@intel.com>
Tue, 20 Oct 2020 12:44:59 +0000 (14:44 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 20 Oct 2020 12:44:59 +0000 (14:44 +0200)
commitd2ba323eaae06416728267344b55d345d1bd3b9b
tree195b15d691e7e0f7b0ec461328427e3993c90843
parentb081a5f14ccfe7609be63495efe8cb8c39cfb447
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>
master commit: 44ac57af81ff8097e228895738b911ca819bda19
master date: 2020-10-15 12:29:11 +0200
xen/arch/x86/cpu/mwait-idle.c