Received: by 2002:a05:7412:31a9:b0:e2:908c:2ebd with SMTP id et41csp4291586rdb; Thu, 14 Sep 2023 19:11:50 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHkFkLQyoYzUR9sb12MqKl75uTfP+1fo/DxxyI7lH75fXYXZc3SF2nHvaVYj6zUW1v4yOOy X-Received: by 2002:a17:902:c950:b0:1c4:1e65:1e5e with SMTP id i16-20020a170902c95000b001c41e651e5emr409914pla.0.1694743910343; Thu, 14 Sep 2023 19:11:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694743910; cv=none; d=google.com; s=arc-20160816; b=eM7F6tbfePRskegTp7ZRUGjLxkY4G4M/9N45rMrZoTYuJM+SR5Mxb6ZWIBTluP9ozj Lb4+nNVg+hUk1OuP9PV7YSugaYR9UAXKi206Brqz2Mey/4g+juKcCPr3aGpWO2E6LXzg KTdlCUyyDTZ/XAIEz0MBgSJTxvM7tLSCfWiujiBA+Hg7Xvwym2pjzhpk3/CXw/cC2iYg l1CTCNmZpV//6a2fwO6VNiha+w4FIauO7XPrs7vn4Cl8mrR+jZmNT3g/7LrkRmM+eibp ktVzxuWgcwYcffQYu5+dzLAIv1Rb0PFNxMiQflfT2hG8aBJkMYuNqNc2f3JSzYiLt/MB KBZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:references :cc:to:content-language:subject:from:user-agent:mime-version:date :message-id:dkim-signature; bh=QLvdeLJFaVHjTuDoy38D6XQS7QdszFti2O5CeB4RYlA=; fh=fJxDBAc6AAaEI126HVnDemqbmOGfZWkLf0rJjrV2Uxk=; b=Isz8PaNhXG4dLEB4ZEQIepZUg8mWhpChrxRfbNeV0xmXAnGp8aBqvQmUdYUbayp4RG hh+6tFQkAZC5aoKhQmHHEszJK0vLnqlc5LFuOeRolXYIHWCbKB9UcsIfrpsI8GEkW5Mv u3gHnm8yjwnh8pzyGdZJImhF4rHPjIYXToR0H6ocui1aTlfe4B4KKVT6GB97Kh9Zg1Hx 5SyHPt9khCZ8XNCl1HroEXsmTZEhS5tU/0TyilMvDd6YYXBUQs1x+mavu4Fl6IQd01gR zBf3a6Qes+iUfExbxLELPC6jDzUj+sTHmtAMgQN5jcXIB+tK7hIJ7hh0ak43OJwQhLjY XXNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@citrix.com header.s=google header.b=H79lOWAX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=citrix.com Return-Path: Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id n1-20020a170902d2c100b001b811261289si2774875plc.482.2023.09.14.19.11.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Sep 2023 19:11:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; dkim=pass header.i=@citrix.com header.s=google header.b=H79lOWAX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=citrix.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id CD295809C67F; Thu, 14 Sep 2023 06:16:00 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238606AbjINNQC (ORCPT + 99 others); Thu, 14 Sep 2023 09:16:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53536 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238623AbjINNQB (ORCPT ); Thu, 14 Sep 2023 09:16:01 -0400 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 69FCB1FD5 for ; Thu, 14 Sep 2023 06:15:57 -0700 (PDT) Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-401d6f6b2e0so13426945e9.1 for ; Thu, 14 Sep 2023 06:15:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=google; t=1694697356; x=1695302156; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:references:cc:to :content-language:subject:from:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=QLvdeLJFaVHjTuDoy38D6XQS7QdszFti2O5CeB4RYlA=; b=H79lOWAX5BPBFOdAn1Ls5n/4U5LrplNHBcu1rIc7moNmBpym0HelwhDGyK3yWrCkK6 YAnVKR5qigfI+orFzxqnSf+VxYJ/OAgSD2+fPBosbnB3Dg6ODx4xFcF8Y5OfLIazP0q+ +JJvOLGq1e7SwSoTNzHpPwoBD7HAV3nLiof+E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694697356; x=1695302156; h=content-transfer-encoding:in-reply-to:references:cc:to :content-language:subject:from:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=QLvdeLJFaVHjTuDoy38D6XQS7QdszFti2O5CeB4RYlA=; b=DezygxvExe/y4PJgx2ZBPbEHaAiyyTZWWm8j7bxjxZwlERXEiyOVkP6h5nvRR9NEUE WArhOcfS9p2l+SB98MhU9EzuraRLmZ86MysirUz4E3iDvkSGDWY6G1wxf0dByJNNj8Yp F7+LGXC2HyucdJjuWUvD6+zfBqiyJUdAYemS/l4+4DxxHDLQCrT1k2FkBKRqkR2ecKkN Z8jf6NBDH0OLmvp5+FA3dGApI0NQMW1CApr0/xOk4gZtaB1s4ZWYnl1uW7g9hGpKyGl0 muwj0lnc2EaqO5u56gyDFhYV9DwIVjpjnOUamzgxSWqorPYLwnmt23Mm41FQuJQIhEvJ mL1w== X-Gm-Message-State: AOJu0YwDaD9u35Eak32Tg7Ly2iBD+yJSsbM/DjBcN9/28Ty5wPzSpETE UaWyJs3Q2ZpV3EsUY3JviW7h8w== X-Received: by 2002:a05:6000:4013:b0:319:735f:92c5 with SMTP id cp19-20020a056000401300b00319735f92c5mr1634592wrb.32.1694697355769; Thu, 14 Sep 2023 06:15:55 -0700 (PDT) Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk. [46.102.197.194]) by smtp.gmail.com with ESMTPSA id r10-20020adfdc8a000000b0031aeca90e1fsm1775995wrj.70.2023.09.14.06.15.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 14 Sep 2023 06:15:55 -0700 (PDT) Message-ID: <7d907488-d626-0801-3d4b-af42d00a5537@citrix.com> Date: Thu, 14 Sep 2023 14:15:54 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 From: andrew.cooper3@citrix.com Subject: Re: [PATCH v10 08/38] x86/cpufeatures: Add the cpu feature bit for FRED Content-Language: en-GB To: Jan Beulich , Juergen Gross Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, luto@kernel.org, pbonzini@redhat.com, seanjc@google.com, peterz@infradead.org, ravi.v.shankar@intel.com, mhiramat@kernel.org, jiangshanlai@gmail.com, Xin Li , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-edac@vger.kernel.org, linux-hyperv@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org References: <20230914044805.301390-1-xin3.li@intel.com> <20230914044805.301390-9-xin3.li@intel.com> <77ca8680-02e2-cdaa-a919-61058e2d5245@suse.com> In-Reply-To: <77ca8680-02e2-cdaa-a919-61058e2d5245@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Thu, 14 Sep 2023 06:16:00 -0700 (PDT) On 14/09/2023 7:09 am, Jan Beulich wrote: > On 14.09.2023 08:03, Juergen Gross wrote: >> On 14.09.23 06:47, Xin Li wrote: >>> From: "H. Peter Anvin (Intel)" >>> >>> Any FRED CPU will always have the following features as its baseline: >>> 1) LKGS, load attributes of the GS segment but the base address into >>> the IA32_KERNEL_GS_BASE MSR instead of the GS segment’s descriptor >>> cache. >>> 2) WRMSRNS, non-serializing WRMSR for faster MSR writes. >>> >>> Signed-off-by: H. Peter Anvin (Intel) >>> Tested-by: Shan Kang >>> Signed-off-by: Xin Li >> In order to avoid having to add paravirt support for FRED I think >> xen_init_capabilities() should gain: >> >> + setup_clear_cpu_cap(X86_FEATURE_FRED); > I don't view it as very likely that Xen would expose FRED to PV guests > (Andrew?), at which point such a precaution may not be necessary. PV guests are never going to see FRED (or LKGS for that matter) because it advertises too much stuff which simply traps because the kernel is in CPL3. That said, the 64bit PV ABI is a whole lot closer to FRED than it is to IDT delivery.  (Almost as if we decided 15 years ago that giving the PV guest kernel a good stack and GSbase was the right thing to do...) In some copious free time, I think we ought to provide a minorly-paravirt FRED to PV guests because there are still some improvements available as low hanging fruit. My plan was to have a PV hypervisor leaf advertising paravirt versions of hardware features, so a guest could see "I don't have architectural FRED, but I do have paravirt-FRED which is as similar as we can reasonably make it".  The same goes for a whole bunch of other features. ~Andrew