From nobody Sun Feb 8 05:53:47 2026 Received: from mail-oi1-f172.google.com (mail-oi1-f172.google.com [209.85.167.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F206A2FFF98 for ; Mon, 5 Jan 2026 14:38:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767623888; cv=none; b=kn/CrGR7FeXRWaqT3ErbaoRrAunISO+tht02Ag7H8obCRHOIvvpmVHjaDuT/59tV5rEBxOEsiNRlVEtdTVdLwubLlkhKjI+OWrWXlnt22V0Hgz5hais75r/DC1WdM6b0Uf0+xUM5EpwsDeUTOi+K3oLwWjxyVTYBgU8ZfUClVnA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767623888; c=relaxed/simple; bh=EgqfnMAoPGWhLBVhAoLfeMBJwoOFv6bI5z8l8X4Bz74=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=UEwiu8OnBVYzpX1GrIKkCR8Mh8V4WGwsnB5KsWZ8/6oCYdDXKaT9BLVDjjAHQOylx31OLjiOaQBQLhjS5HN/S73I67C6zadzdhuFJSF+8z8pv8+rwdAAXss8ZDKJo+Jyc6nJIBTdf8MIMUpn+Mj3F5Uduws0BfzU4HXD2A8G4To= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.167.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oi1-f172.google.com with SMTP id 5614622812f47-4511f736011so1156948b6e.0 for ; Mon, 05 Jan 2026 06:38:05 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767623885; x=1768228685; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=gn4kG7cRLRHpkbtqApNn0XGtaN/UaczC4cghICEqmkE=; b=fQGvzAsL6S1lWWAnHu//U3K/PyPH1lMA1eGO3wRJBhBYqT3Vm9lPLMA6E6hTFjEA2c BRNIZ7qWSeYFirAh3GIPoUXgNbeLK783tnSUnrwVnkH2aTBlRVx81HUQjUzQXc7VJkck KulppQG5Xf8RnEqQ6EFNUw2LD5hsVK5LZ1gOIk4034i8WC5OWsuaKuEtEYglLyqiQLcV TgkBuox0fXN4IiHPaLMiKAylXlt81vFaUd+AoxhzSAgmpf9EQ6865Y2oQrV9vF25csiO w6LnNcVdpdUS+/YqrRYeaE/VyGo79sUZkL07/BSj4kMHKCtAlQbVHSGtMoVGFjzYDXy7 WSOw== X-Forwarded-Encrypted: i=1; AJvYcCUl7kTWpOktBZgO2HuD7hAZAUcguTxF1Zjv/BxUNSDn08Imp5yBYGLVqPQf5bmxmTSEGhXhP+1fr21gp9E=@vger.kernel.org X-Gm-Message-State: AOJu0YxuRCgc/OIjlgc3w91WBV2KiHzVuJJvO5oT36KpbPU6ZJCg5i3X UIz0QKJGbjH3mVJv2HRHxs/SmHbaxStLhbtY+j8Ittz72YCvE8/ePuJF4Rcz9dZO X-Gm-Gg: AY/fxX4ZBXJfNY7WhgKrHhip922dQHQKqX2H+hf5iOGB2g1iebZfzGoqo0sYQj8FSgS 5eiw9hC6ZUFJPm6z+E8KupHbNw8ORT9n3jleizHfgVIqTGkSV7Iqp6bPFuuM/b+VfYWSWFNEyvb u3Fhze78kBZbA5+zT++1bs2X4m8BNGWDltG0ZEuWn/WisUPpW7hp5NEhBaiJFKoQHZGz2R4Dj5Q oCFewRC/161nU/RJreSqvkYZUdCz4syGKKVJ/NARJtjQoLQZaiAr1abHj5sEORqlQsZAOILmNmN rkMa1EHUf3J+t1knNEPa1PpHx7fGaza1zR8PI2tvJ8Rd/vON/wbnTYIYcIv5+NTMQ3qD/I+ZZRW Kny5o6K+5nu6UmMXEdrQZExNSXRwAKXaqchp52xYW4MqD7WGfduTlr1Hu34SBTazgSQDS5H1MBv GgqQMPPirxLc2u/g== X-Google-Smtp-Source: AGHT+IG/XegTidvFOyjeUcFaNOiOOvFs6wokeor9um8bxZwQnxVREMwftI3YifmDmsL/WZv1FsEh5g== X-Received: by 2002:a05:6808:c2ab:b0:45a:4ef5:b1a3 with SMTP id 5614622812f47-45a55fe7589mr519371b6e.26.1767623884695; Mon, 05 Jan 2026 06:38:04 -0800 (PST) Received: from localhost ([2a03:2880:10ff:5d::]) by smtp.gmail.com with ESMTPSA id 5614622812f47-457b3edb41fsm22514028b6e.18.2026.01.05.06.38.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jan 2026 06:38:04 -0800 (PST) From: Breno Leitao Date: Mon, 05 Jan 2026 06:37:06 -0800 Subject: [PATCH] cpuidle: menu: Remove incorrect unlikely() annotation Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260105-annotated_idle-v1-1-10ddf0771b58@debian.org> X-B4-Tracking: v=1; b=H4sIAJLMW2kC/yXMQQrCMBAF0KsMf91AEmyEXEVE0syoI5JKkopQe nepLt/mrWhSVRoirajy1qZzQSQ3EPI9lZsYZUSCtz5YZ0eTSpl76sIX5acYDlNwB8ns7RED4VX lqp9feDr/3ZbpIbnvC7btC/aevQVyAAAA X-Change-ID: 20260105-annotated_idle-d6b614ecd207 To: "Rafael J. Wysocki" , Daniel Lezcano Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@meta.com, Breno Leitao X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=openpgp-sha256; l=1417; i=leitao@debian.org; h=from:subject:message-id; bh=EgqfnMAoPGWhLBVhAoLfeMBJwoOFv6bI5z8l8X4Bz74=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBpW8zLu9wz3KfLtF+DWr+p79FTKuHUN6FzS6JcR dMcEVp2+L+JAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaVvMywAKCRA1o5Of/Hh3 bXkfD/9wlbw6PH9vuV4DgzCYCGRtTZnGQVlEaxZ+jmAlqbWgijQpsKbS4ZifsldxHyVsgwzNG1m 9POKdC0vl/n+rGh8PHSvMPbdH8EUJcCgTBCFf9S5caYzqzReSvwRSXX0cK7QsoqG94R5TMXajr4 QOts876A4vTnqc4JU6ksUwifyTiCpcRN/34D9GQ3RA8LngbiaLRWZpHQTWw9oPPiB0KSUASeIpM +1irWwpJSeo0+SeEOHQIz2my+jO9c40Kj70YMsLraJatPyNVKq59VeRMYIOXU5kuQTNT27cul1Y tfBWAxxW8iUdY5u0iwiVvIMGLjOwFXhvHPSVtO78FIHCzxvSAFTh3Bw0sH3Rc3MnM7O+JNx/hvB +wDgAf7eGBptOq1gHdDKTV5aZ615FBArjMlhLPHKib8IkO4FaK6HWd6DQNnwuj1rqDo1VSzwC3v Lj80kvitpomuyFyngLtfHOh9SdyDnLHjZ5kdHlbMp9plwvTYTU2uxv4CapQP19FFLrFn+ah+LjG H81o9wD5u51FSQj59RnIkmzQkSbs2armTHm6gY8/HbpD5G3YnCv8BwVOCdzmp6YVi47FSFVZI4o 3xRjDfGdRfYZNI38tBWMo6rh/ghODEDOqaJVYXaa6hTZBIv1zkgxvY5Yg1MRiMa/hr4jGTyN11O Gn0xBb8q/ZI0kkg== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D The unlikely() annotation on the early-return condition in menu_select() is incorrect on systems with only one idle state (e.g., ARM64 servers with a single ACPI LPI state). Branch profiling shows 100% misprediction on such systems since drv->state_count <=3D 1 is always true. On platforms where only state0 is available, this path is the common case, not an unlikely edge case. Remove the misleading annotation to let the branch predictor learn the actual behavior. Signed-off-by: Breno Leitao --- drivers/cpuidle/governors/menu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/cpuidle/governors/menu.c b/drivers/cpuidle/governors/m= enu.c index 64d6f7a1c776..ef9c5a84643e 100644 --- a/drivers/cpuidle/governors/menu.c +++ b/drivers/cpuidle/governors/menu.c @@ -271,7 +271,7 @@ static int menu_select(struct cpuidle_driver *drv, stru= ct cpuidle_device *dev, data->bucket =3D BUCKETS - 1; } =20 - if (unlikely(drv->state_count <=3D 1 || latency_req =3D=3D 0) || + if (drv->state_count <=3D 1 || latency_req =3D=3D 0 || ((data->next_timer_ns < drv->states[1].target_residency_ns || latency_req < drv->states[1].exit_latency_ns) && !dev->states_usage[0].disable)) { --- base-commit: 34aa263125b6732375abcb908d73d98169154bb5 change-id: 20260105-annotated_idle-d6b614ecd207 Best regards, -- =20 Breno Leitao