From nobody Thu Apr 2 05:52:41 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 380D13B583C; Mon, 30 Mar 2026 10:23:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774866233; cv=none; b=jFwsAV4UryEtD/oG7S8cx8KfFpLI833Uoz3KYTeX8yQauLmh/c6HrTJjLSdh/RstuITs9XUBspd+2erfsV1KTO+1ay5OwlmJZj63/6oNCDvUYiUP+xpt/29WRCJ+Du8BLMgZK9FZ4GAFn9beArAw8c+yYfvte7XkLKZFgU2O8xI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774866233; c=relaxed/simple; bh=m2+uLmRDEEyTBCwdidBCbu6DoH/pIZPvCpS0poqLkS0=; h=Date:From:To:Subject:Cc:In-Reply-To:References:MIME-Version: Message-ID:Content-Type; b=qvI43ymcCDgQ8XUsNKnzLZZ+9GVcm1reR2QNfftM3FGeA/6/bhyWKVlNO3dAFmk1+RfQQkTuP0MYMDoZIJF+60HAuPPmze5oF9T0yHOjrRbWBmapo0IEYRM+qUrL2O2pIbR7tPK6kTEBRbCo3pRtYOr7RdqLxv1NZcXJqjx9dxM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=LLLczE2W; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=GUlu7w2t; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="LLLczE2W"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="GUlu7w2t" Date: Mon, 30 Mar 2026 10:23:47 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1774866229; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bH/8gwI93u+T1Ei8PNTrwfLYVI4JjCGlDbweQlxBOqw=; b=LLLczE2WmWnOvd5d1v8M7pNMYM1Ht/zVkllGjMd9bJtbZD0DyC4EiA/FsGK+YMUOip0jLB nXFDg6RMB0k6rPsgcDNA7CyKW+OPj97+GcmcLcrjUmieUMLWrwoD8V1WnqXmYM+5V4WAhn Ds5/CYCRUw5MfG5OytO4f5PgOKVBrysLe7SNNJsknC2/lRnhuJWH+2Ur6fNrnlFW49XZRh WToh5kAIoWwwDwWcx4I3jZGMx1FnuS8Dg2JU/z/t1w3ip8L/idzVmFntZ70qkfCIW4qAyf 32fJKzj2V/KSi+FXW/1QQ35kzkuLrMhIeIIL/24exshALdIq4lEyzXgAU+AM7g== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1774866229; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bH/8gwI93u+T1Ei8PNTrwfLYVI4JjCGlDbweQlxBOqw=; b=GUlu7w2tpOIJrHikT1SrY+b1CElWYaSDXpgo99xKbxzFX652XxZ+dJ3B64/N+XKAr3p6HP FQNz8KIqQdES22Ag== From: "tip-bot2 for H. Peter Anvin" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: x86/fred] x86/fred: Enable FRED by default Cc: "H. Peter Anvin (Intel)" , "Borislav Petkov (AMD)" , Sohil Mehta , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20260325230151.1898287-2-hpa@zytor.com> References: <20260325230151.1898287-2-hpa@zytor.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <177486622783.1647592.12289627481695048265.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Precedence: bulk Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable The following commit has been merged into the x86/fred branch of tip: Commit-ID: ac66a73be03a0a72aeeb33d3610cfc43cb101a0b Gitweb: https://git.kernel.org/tip/ac66a73be03a0a72aeeb33d3610cfc43c= b101a0b Author: H. Peter Anvin AuthorDate: Wed, 25 Mar 2026 16:01:47 -07:00 Committer: Borislav Petkov (AMD) CommitterDate: Fri, 27 Mar 2026 16:04:47 +01:00 x86/fred: Enable FRED by default When FRED was added to the mainline kernel, it was set up as an explicit opt-in due to the risk of regressions before hardware was available publicl= y. Now, Panther Lake (Core Ultra 300 series) has been released, and benchmarki= ng by Phoronix has shown that it provides a significant performance benefit on most workloads: https://www.phoronix.com/review/intel-fred-panther-lake Accordingly, enable FRED by default if the CPU supports it. FRED can of course still be disabled via the fred=3Doff command line option. Touch up Kconfig help too. Signed-off-by: H. Peter Anvin (Intel) Signed-off-by: Borislav Petkov (AMD) Reviewed-by: Sohil Mehta Link: https://patch.msgid.link/20260325230151.1898287-2-hpa@zytor.com --- Documentation/admin-guide/kernel-parameters.txt | 4 ++-- arch/x86/Kconfig | 2 +- arch/x86/kernel/cpu/common.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentatio= n/admin-guide/kernel-parameters.txt index 03a5506..bfa8a20 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -1750,8 +1750,8 @@ Kernel parameters fred=3D [X86-64] Enable/disable Flexible Return and Event Delivery. Format: { on | off } - on: enable FRED when it's present. - off: disable FRED, the default setting. + on: enable FRED when it's present, the default setting. + off: disable FRED. =20 ftrace=3D[tracer] [FTRACE] will set and start the specified tracer diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index e2df1b1..876b663 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -557,7 +557,7 @@ config X86_FRED bool "Flexible Return and Event Delivery" depends on X86_64 help - When enabled, try to use Flexible Return and Event Delivery + When enabled, use Flexible Return and Event Delivery instead of the legacy SYSCALL/SYSENTER/IDT architecture for ring transitions and exception/interrupt handling if the system supports it. diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index a8ff437..0b02cb0 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -1746,7 +1746,7 @@ static void __init cpu_parse_early_param(void) =20 /* Minimize the gap between FRED is available and available but disabled.= */ arglen =3D cmdline_find_option(boot_command_line, "fred", arg, sizeof(arg= )); - if (arglen !=3D 2 || strncmp(arg, "on", 2)) + if (arglen =3D=3D 3 && !strncmp(arg, "off", 3)) setup_clear_cpu_cap(X86_FEATURE_FRED); =20 arglen =3D cmdline_find_option(boot_command_line, "clearcpuid", arg, size= of(arg));