Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp2412447pxf; Sat, 20 Mar 2021 15:18:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyeCwXQROpckBvIa6isNx9QyApUL6tvPDD8Ghtt3vgpYsPLAnF2AZqE/4kvdS6V6geoUEhu X-Received: by 2002:a50:fa04:: with SMTP id b4mr17821991edq.293.1616278708145; Sat, 20 Mar 2021 15:18:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616278708; cv=none; d=google.com; s=arc-20160816; b=VsDSA9OQZKQFAtIwQA/zC3JZvPBwW12oB77imCTnMVJ59FJGMrWRef/PvMBcSmANcy KtmRzDrBEDu9/Y/1vx88z0L9u1C8YnrW6GLig09/J/zCC1JaOGTwf+rnF5DWXCLA2ilG EjqcdWZjBC8arZCeMEoCVpVEM2WWUASTlICyKH/qMuKzqN/4KKCK4OuloPHbPaWoHM2B glNO1bOlywG5L9bQbbpIy9mrYXkvmDfR1Y7nJBGPzuloa8wpoOiI4OfH2fZaZdBmSqWI h9P5nSH7rSLB9sqL6ptKETL/kyejesP65rGPQKgnhXXThMaEEIndW9aCALAfwAdRboV9 JGvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :in-reply-to:subject:cc:to:dkim-signature:dkim-signature:from; bh=9mjR39JAnk9LVTRWHFFkIeF7jmr7jmcsLWwDIHiw89w=; b=Bpr6QqyxKcfunrQNewCRBMg2jJymLu6AqJtD2NCqUbOiASldIiX/yHbGnOMCXV/HdE fKeQ7jEASTIcqAoYdKfkOuJ1rGoBllXDqmW+MCh/FZ1sOo5vzYr+pR1r8OelPTcShch4 OsJN5Y1SLbe9mqSsS8EjSbuHq28sXxBSDKvgMXl9sJnhIxndMHyi+NjcfHJfe40yKBE8 b3y/ISt6vpHAf5bMlGdJErAi9VtVleCm7/mJG7avPBS8HskNS6eA+jS+sa4cyG9TmF9J r0qjTdD046PTXDaW/pRIota015yET33KPuMSLeFH3GLS9ftbdbPgOsuCC0sQFkm72bnB PGKg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=U6UCIMJt; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=ftjeSDSq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cf6si7507932ejb.272.2021.03.20.15.18.06; Sat, 20 Mar 2021 15:18:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=U6UCIMJt; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=ftjeSDSq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229903AbhCTWOD (ORCPT + 99 others); Sat, 20 Mar 2021 18:14:03 -0400 Received: from Galois.linutronix.de ([193.142.43.55]:45162 "EHLO galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229826AbhCTWNb (ORCPT ); Sat, 20 Mar 2021 18:13:31 -0400 From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1616278410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=9mjR39JAnk9LVTRWHFFkIeF7jmr7jmcsLWwDIHiw89w=; b=U6UCIMJtU8CzmTNm92+RpXTYXA9/F0wT9TidSuQfUoagt+Z3UVMgdXeHMwcqf+UKpK9RQG XdmQvhosA1xPM8vXyvTrO01FfQ6ihoHZUAEJ7Q+uQEH9lkkw1Cps0L1cJzDBdIjp9BWXvM seD125S++B2H+TLadPtvpOV4sXI5FUgX4WafONScUm4wDXptaq1mQJuk4MrngU4KzrCwPb kmn8Dvf06Oxp6FzHvx0oxJJWodCQL3NCtw5K2FjjJEWeH1VQxlUbjoGlNoMCSqRtphmIl9 Xgr0D3qtdi0m/4WfKfVUugX3O9xD2KZWL3vy2OjtVlNbRvT849XFvauiM2l4pA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1616278410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=9mjR39JAnk9LVTRWHFFkIeF7jmr7jmcsLWwDIHiw89w=; b=ftjeSDSqFhj471humgpgmU1OK2BUphH+h6o9Cy7UkO+FL9OxyhDX9RJfh3XeQMZZzCocHZ rQZMZgdDykEYZMBw== To: "Chang S. Bae" , bp@suse.de, luto@kernel.org, mingo@kernel.org, x86@kernel.org Cc: len.brown@intel.com, dave.hansen@intel.com, jing2.liu@intel.com, ravi.v.shankar@intel.com, linux-kernel@vger.kernel.org, chang.seok.bae@intel.com Subject: Re: [PATCH v4 14/22] x86/fpu/xstate: Expand the xstate buffer on the first use of dynamic user state In-Reply-To: <20210221185637.19281-15-chang.seok.bae@intel.com> References: <20210221185637.19281-1-chang.seok.bae@intel.com> <20210221185637.19281-15-chang.seok.bae@intel.com> Date: Sat, 20 Mar 2021 23:13:29 +0100 Message-ID: <87o8fda2ye.fsf@nanos.tec.linutronix.de> MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Feb 21 2021 at 10:56, Chang S. Bae wrote: > + > +/* Update MSR IA32_XFD with xfirstuse_not_detected() if needed. */ > +static inline void xdisable_switch(struct fpu *prev, struct fpu *next) > +{ > + if (!static_cpu_has(X86_FEATURE_XFD) || !xfirstuse_enabled()) > + return; > + > + if (unlikely(prev->state_mask != next->state_mask)) > + xdisable_setbits(xfirstuse_not_detected(next)); > +} So this is invoked on context switch. Toggling bit 18 of MSR_IA32_XFD when it does not match. The spec document says: "System software may disable use of Intel AMX by clearing XCR0[18:17], by clearing CR4.OSXSAVE, or by setting IA32_XFD[18]. It is recommended that system software initialize AMX state (e.g., by executing TILERELEASE) before doing so. This is because maintaining AMX state in a non-initialized state may have negative power and performance implications." I'm not seeing anything related to this. Is this a recommendation which can be ignored or is that going to be duct taped into the code base once the first user complains about slowdowns of their non AMX workloads on that machine? Thanks, tglx