From nobody Fri Apr 26 19:25:17 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail(p=none dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1574685611; cv=none; d=zohomail.com; s=zohoarc; b=Sd3fMihNfAF2j5dUT3ApKWI1YQVfle0+s5BIMp1D83GzETF61nFVwpMdZ/41M1aKJ+QBSVIAIaOijZUa7eVJANpZ4YTMibnsjnnxxJjx0CL/I0NH3VYQU1lmp0B4lP1mjQ+Ji7boundXJl8BuOFi+iHmfaXFq3SPUeoP/zydvgo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1574685611; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=jlfaFQmBQuyam15vv6nPt8pql4z/YqzN+uOr39ctHcE=; b=J1I3UWIpJL5M0MpE6kooNwQQ/1OQRXhgb+RFimT1LZ2dThwD3vcriTDW4+ZA362WQMOwkS0jkPvHdOrKUEXYFG3vc7lXUKbcPH1yGnFBoqw+rqA3hDbcAtidqQs5OnidVn126LpfUFgM/AX0oxXJj3lTJOyadje01pVuC/n+s2g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1574685611106588.98400070429; Mon, 25 Nov 2019 04:40:11 -0800 (PST) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iZDeR-00073h-42; Mon, 25 Nov 2019 12:39:35 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iZDeP-00073P-L6 for xen-devel@lists.xenproject.org; Mon, 25 Nov 2019 12:39:33 +0000 Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 9e1f7308-0f80-11ea-a38f-12813bfff9fa; Mon, 25 Nov 2019 12:39:27 +0000 (UTC) X-Inumbo-ID: 9e1f7308-0f80-11ea-a38f-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1574685567; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=HOGdDhtENMkSj0XwuMFJWG7Yl6DNkudQovEu1wtjqWI=; b=cCY0gJHInaS5h/w54SFqsbQV3GTQOEQw8qiuUvQOAngpbv1EZknFAKuS bvOI4K94B9OoAvxq5LE54/FEcbLJqIHz6i/rWzllOMhZKvqN8wNpJK8EH EQ0r86HWgyFjmX2KO2Cia/lbQC+yM26uGy7H7I+CZmacrLh77alriUW2F Y=; Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=george.dunlap@citrix.com; spf=Pass smtp.mailfrom=George.Dunlap@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: None (esa6.hc3370-68.iphmx.com: no sender authenticity information available from domain of george.dunlap@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa6.hc3370-68.iphmx.com; envelope-from="George.Dunlap@citrix.com"; x-sender="george.dunlap@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa6.hc3370-68.iphmx.com: domain of George.Dunlap@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa6.hc3370-68.iphmx.com; envelope-from="George.Dunlap@citrix.com"; x-sender="George.Dunlap@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ip4:168.245.78.127 ~all" Received-SPF: None (esa6.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa6.hc3370-68.iphmx.com; envelope-from="George.Dunlap@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: +BRnsVDPxOWGyzxDa7xeuzOOBvAIJS0XxlgAVBdGAMoEc7T5T/Ru21Kojcjn6JewsUSqPh2v2v oJedFSGs7snn7ZdU/giWgVt4+XhHcG4CbQG7GpaTWDkhvJy8aHSzZLL4zHCy0KGZs/oANmlpXw uLwvF7WwtDolCBFxNgpNvnniYYyJFmqrj/gqlik5l8JeADrLXanWFsCmWY6Eqw+df4n5ET2MN3 GZcbsi3GjEmatzMWLm8gNVbiA2DRLClHSP6MXciGwDlV66MKO3Rh83LOlpNi9cPQ/YWH5Z6a+V O6U= X-SBRS: 2.7 X-MesageID: 9199247 X-Ironport-Server: esa6.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.69,241,1571716800"; d="scan'208";a="9199247" From: George Dunlap To: Date: Mon, 25 Nov 2019 12:39:23 +0000 Message-ID: <20191125123923.2000028-1-george.dunlap@citrix.com> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Subject: [Xen-devel] [PATCH RFC] x86: Don't increase ApicIdCoreSize past 7 X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Juergen Gross , Steven Haigh , Wei Liu , Andrew Cooper , George Dunlap , Andreas Kinzler , Jan Beulich , Ian Jackson Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Changeset ca2eee92df44 ("x86, hvm: Expose host core/HT topology to HVM guests") attempted to "fake up" a topology which would induce guest operating systems to not treat vcpus as sibling hyperthreads. This involved actually reporting hyperthreading as available, but giving vcpus every other ApicId; which in turn led to doubling the ApicIds per core by bumping the ApicIdCoreSize by one. In particular, Ryzen 3xxx series processors, and reportedly EPYC "Rome" cpus -- have an ApicIdCoreSize of 7; the "fake" topology increases this to 8. Unfortunately, Windows running on modern AMD hardware -- including Ryzen 3xxx series processors, and reportedly EPYC "Rome" cpus -- doesn't seem to cope with this value being higher than 7. (Linux guests have so far continued to cope.) A "proper" fix is complicated and it's too late to fix it either for 4.13, or to backport to supported branches. As a short-term fix, limit this value to 7. This does mean that a Linux guest, booted on such a system without this change, and then migrating to a system with this change, with more than 64 vcpus, would see an apparent topology change. This is a low enough risk in practice that enabling this limit unilaterally, to allow other guests to boot without manual intervention, is worth it. Reported-by: Steven Haigh Reported-by: Andreas Kinzler Signed-off-by: George Dunlap Acked-by: Jan Beulich --- CC: Ian Jackson CC: Wei Liu CC: Andrew Cooper CC: Jan Beulich CC: Juergen Gross --- tools/libxc/xc_cpuid_x86.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c index 312c481f1e..519d6d8bd0 100644 --- a/tools/libxc/xc_cpuid_x86.c +++ b/tools/libxc/xc_cpuid_x86.c @@ -616,10 +616,15 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t= domid, * - going out of sync with leaf 1 EBX[23:16], * - incrementing ApicIdCoreSize when it's zero (which changes= the * meaning of bits 7:0). + * + * UPDATE: I addition to avoiding overflow, some + * proprietary operating systems have trouble with + * apic_id_size values greater than 7. Limit the value to + * 7 for now. */ if ( p->extd.nc < 0x7f ) { - if ( p->extd.apic_id_size !=3D 0 && p->extd.apic_id_size != =3D 0xf ) + if ( p->extd.apic_id_size !=3D 0 && p->extd.apic_id_size <= 0x7 ) p->extd.apic_id_size++; =20 p->extd.nc =3D (p->extd.nc << 1) | 1; --=20 2.24.0 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel