[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3] x86/intel: insert Ice Lake-X (server) and Ice Lake-D model numbers


  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Igor Druzhinin <igor.druzhinin@xxxxxxxxxx>
  • Date: Thu, 8 Apr 2021 13:41:27 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=If07qClRzfX0OUuucXHsjLGpnpVLjYgZmOcpmshGLqU=; b=eQBv1T9Xu3F3zFX9r7S8wxcKmJAcaN3PdHVoSKP7y6vVEBJZo/xI56PKhwJl6KKVc9I/N30sGghSC6GEg0ryLhYN8wwBySpHQIG1aG3ccUoqc22Qn3UytUXJ3qJUQ0FsPf0Pz04F6W14aLqC0Gm0aBKrjF0MskBPqjlrK8Uu59/QU5J0pvdSZsCFcUgT/SZz/2jGTrsNQy0pvmytB1h+L7OZNI9bYxRRJgk/+jGyEjjc6yK3RjAlFHUbJ+AbT6ykODHYT+rVsDWtu+wl8Vjv7uEL5JGAenOY3ONTYDuBkEg1MCIWrmks1M9+pS0WFMPSFXG8wmO0YgVRGEKYiWqyIQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B4HtEJreRJ1zEoRgtXRoZxpULV3nV6J6gurLfHBIef6jv1meENEjMF6/jLaFHGAia3y8HncFfy8aO10r1no0ocgq9PsTwLqNfSlzg+uVyTzUuzlLl+DwaSBWkImLslS2fVZq/yHaW92Azi/uX5oOGadnB8AClJo5g4PbOeU3Ab+j65sMyHiGj+cPXXU8G0rZRqKTK0G3sk2h4xEQdKT/GTIsaWrlBqFAdvSIPvdLgBLYO6zxi8ALbg8skXvHzzaPvFVyxnOfkVehg6IVZpSKrHi0JrUuyGz4JTsSbEnrRNSw+9Bx6FOUEHeQ3ZzUyygxk9jY1FwM9Yk9BLGQ0sUQeA==
  • Authentication-results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: <jbeulich@xxxxxxxx>, <roger.pau@xxxxxxxxxx>, <wl@xxxxxxx>, <jun.nakajima@xxxxxxxxx>, <kevin.tian@xxxxxxxxx>
  • Delivery-date: Thu, 08 Apr 2021 12:41:45 +0000
  • Ironport-hdrordr: A9a23:7RhmA6/DzSF4mxbq6Vhuk+Ejdb1zdoIgy1knxilNYDRIb82VkN 2vlvwH1RnyzA0cQm0khMroAsS9aFnb8oN45pRUAKe6UGDdyQyVBaxBza+n+T3vHCXi6vVQvJ 0LT4FSAMD9ZGIUse/U+w+9euxP/PCm9+SSif7a3zNRS2hRGsJdxiNYLireLUFsXglBAvMCZf 6hz+5KvSCpd3hSTunTPBk4dtPOrdHKi57qCCRub3IawTKDgj+y5LnxHwLw5GZ9bxp1zao/6m +AqgTl58yY2M2T8APW1GPY8v1t6b7c4+ZEbfbstuElbg/CpyztT4RnVr2EslkO0Z2SwWdvqv bgiVMNO8xy7lnYY226pwD8sjOQrwoG2jvZ5nKzxVflvMzlVBI2YvAx+75xQ1/ixGcL+PF6za 5R0GqSu/NsfGL9tRW43ffkfVVOtCOP0BwfuN9WtVNze88iTYUUiool8EZcAP47bVjHwbFiKs ZCJoXh/vpMGGnqFkzxjy1U7/GHeG88JRuCSlhqgL3p7xFm2Ep0yEYV36Uk7w893aN4T5FF4t LNObhzmIdPSdcLbbl8CP1pe7rNNlDw
  • Ironport-sdr: tgTyZo0bmUY2npILjJwtJISM5FVgkhyln5zzHaoiLfgU+LWWndisKe+c+t0F3s5G6C+4rPV2Z3 ZWbpx2/6Mv4Mg6VcoaRZSa5cv6hQPSFWSzgS9fSfyjAKW/qExGlP5uwn+TouMU2P6tmIq6wocX 1cdq77NlKObSot8RnwbNQRj+zKBQjBBhUcxVsbfkTPzqGhkY/90UapXx6EXEgxlx6C8EMd0Ygu 7//RFjeo+Sq+5j81+Hj1q5Uww827mKu+hq0SSBGDmQOnOKiTy0NrG0UdarbdJdLpvMlP4ZpzOU 8/c=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 27/01/2021 09:52, Andrew Cooper wrote:
On 23/12/2020 20:32, Igor Druzhinin wrote:
LBR, C-state MSRs should correspond to Ice Lake desktop according to
External Design Specification vol.2 for both models.

Ice Lake-X is known to expose IF_PSCHANGE_MC_NO in IA32_ARCH_CAPABILITIES MSR
(confirmed on Whitley SDP) which means the erratum is fixed in hardware for
that model and therefore it shouldn't be present in has_if_pschange_mc list.
Provisionally assume the same to be the case for Ice Lake-D.

Signed-off-by: Igor Druzhinin <igor.druzhinin@xxxxxxxxxx>
---
Changes in v3:
- Add Ice Lake-D model numbers
- Drop has_if_pschange_mc hunk following Tiger Lake related discussion -
   IF_PSCHANGE_MC_NO is confimed to be exposed on Whitley SDP

---
  xen/arch/x86/acpi/cpu_idle.c | 2 ++
  xen/arch/x86/hvm/vmx/vmx.c   | 2 +-
  2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index c092086..d788c8b 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -181,6 +181,8 @@ static void do_get_hw_residencies(void *arg)
      case 0x55:
      case 0x5E:
      /* Ice Lake */
+    case 0x6A:
+    case 0x6C:
      case 0x7D:
      case 0x7E:
      /* Tiger Lake */
So I think these changes are correct.  TGL definitely has deeper
core/package states than this interface enumerates, but I can't locate
extra MSRs.

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 2d4475e..bff5979 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2775,7 +2775,7 @@ static const struct lbr_info *last_branch_msr_get(void)
          /* Goldmont Plus */
          case 0x7a:
          /* Ice Lake */
-        case 0x7d: case 0x7e:
+        case 0x6a: case 0x6c: case 0x7d: case 0x7e:
IceLake Server has what appear to be new aspects to LBR.  I can't find
LAST_INT_INFO (0x1e0) existing in any previous generation.
Strange.  Updates to SDM finally got published Apr 2 and those contained Ice Lake SP details in it - this new LBR hasn't been mentioned. Does this mean we can skip it for now as it appears to be undocumented functionality (at least publicly) and unlikely used by software?
However, my investigation also found LBR_SELECT which has been around
since Nehalem, which we don't handle, and Linux *does* use.

Good point, I'll make an additional patch that adds LBR_SELECT to the LBR logic.

Igor




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.