From nobody Fri Jun 12 21:41:01 2026 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (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 E32C2397326 for ; Tue, 12 May 2026 12:47:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778590025; cv=none; b=Apma2pSiTkKCgB2rQ+h3ULmMmNjSVbbloT7E5zLnAcrhVvgaBUBAYSlyE7/0J6zgGjF4vjXkQ2RhjzMMTxatxwatMu0u7/YX2lc1GgjTqAeyOmfgbvWOAz3DCkkqxJTNVChGnKJS8AqwLqsyOj/bhgUK40dkkxxc6YNXGtr4f8E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778590025; c=relaxed/simple; bh=bInddkVfc+pXKGHkffHzPuEVIu2QTRfs6h6awa+Mp9U=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Type; b=TgvEYxhOzFYLoRCMNbzd5grGRDlxcYdsbbYIPQzR2i58/VERiCV9o8VstFhqIAuY/APTbITgbT9tYNTi+Nqwp7M66O3PiNFGEgar4ibJb0XkqTk9KUgjLVBuwptey0gMXR7XIlGujqc7YpoS7QS6rT03rRlBW9Du8FA0KMSVRYM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=layalina.io; spf=pass smtp.mailfrom=layalina.io; dkim=pass (2048-bit key) header.d=layalina-io.20251104.gappssmtp.com header.i=@layalina-io.20251104.gappssmtp.com header.b=yMXmNQiO; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=layalina.io Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=layalina.io Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=layalina-io.20251104.gappssmtp.com header.i=@layalina-io.20251104.gappssmtp.com header.b="yMXmNQiO" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-448528f4e69so3267120f8f.3 for ; Tue, 12 May 2026 05:47:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=layalina-io.20251104.gappssmtp.com; s=20251104; t=1778590019; x=1779194819; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=kr874m6JcLiCyYvzD6j4nKzU3/HV5h/qU/z04aUpwE4=; b=yMXmNQiOH4vzaGBH0I9De7gaa578qEH1xGs0HWVjvw9dB6isrPVhzxOkLOJF0K0pFe +G8BCTcPexS4n2bFwafUVYg7cD+wPbAh3VasGxkHe64apTrsmXleYWUgkNp7AtyGU3CV 8IPrtgdDO8L/8WG5i0NBwOXMdW8LFdCvbMxF1uXb9DQUSWQI8CrsXcbs1V8kwZHgxj6Q 8epxcCRZ+rVN8HY8VPQKpcVdb3iVFfgixlisaZ83wEf/S9OA98kt7iSbseIYbrWhuYxG l+zt3IhNh5v/4an6xW0ATss4UUJuBRqqNP1FBTyPm6Ragmx9shpItxXUtLEqpStIxpS+ 1vJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778590019; x=1779194819; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=kr874m6JcLiCyYvzD6j4nKzU3/HV5h/qU/z04aUpwE4=; b=X7p0dQ7FMI71ThUsUeoHWxvU3Si9y4Fl5QINsIK2DqvUEILiUYlv/N+V7IDIuiUrCn 3vv8P6339DS5M2Q1zbA702dQLIcjGmh5Ut4GXbmvpLLD3F7chppslIbyOtW0NzvGvqU+ bZg4nNLVPtw244D7HQ70CSk4l2GCiinKSZlrO95+zhy2fH0w8qaJ7qk5ceaj0FEf2RK5 uIHq+y3tcdj+0UHEvh8elgX54El3n0O6Kmu1nvqAHhjYdJrsR3T4DU4Kv+P+GgbyTdSa B6Rid4u6Y9A9bR7pKhd8KbLdIG8Z21s3yu2NT5efxRJzla6DmQOToJn61Fzb++vOpmSF yoxg== X-Forwarded-Encrypted: i=1; AFNElJ9sX3ithWoXt9I6FaYAMjJdLzBm9abC1sGHsbgQNbkmFvH/+h29H3YY/DLr0cLP7XFRBbP2YdaMS2g6I64=@vger.kernel.org X-Gm-Message-State: AOJu0Yx1SwlvE0FJMEPxJ4pVhMeY1MPmRH/vFwOhFSrZRN0oEL9079xU QCSgv4QL440JBT9v6b1Xe2sKK1XKJbom5WOUgY4Bt0CteID8+KPiKggEH39dzGeXzy8= X-Gm-Gg: Acq92OHzEj8VpbtWBrQ9nqDmdmSO2v9MjW/FCxWiaWZkxVFwKm44NIcbaH21R2B4aQV jkDRKTVK1L0SbOGvTmk+aXRrJsFEHBjh6PL/zYUXpzpiXUN6zQRg07UPTYC5GfYEyMRCvqpVQ5Y 4uq9RGE/KqK/S2jIiHiFZA9Gi+QCuN7mvnkRikC4m5BrVKfnbrlNYEGrZJb8prdI6V+UsMZ1JKP 8VlWuPoF+uSl6b96HfkerABkzWAy7Ut5xy6tx4aIRVRTAENzR2qfkaOq3SeX7jAGYkl7qPbPvdv hCE/5hDdAD4XsClpc3y1xKPM5OHBKuL/u/3gte+bisIPNJixB+dGRmdNFYvqRn/vqZVxmsdzQ4R Vk3bWvEr3WdhTGp4Njj8++xeQmFaZmFchFT4uUtlwehoI1O1zPMvE7D/Z8aYuOy/yN4+vJrqbHY 716+0qDeexYtngb0MhQ7Yv+UttuDg9vlY= X-Received: by 2002:a05:6000:2287:b0:43d:775b:c9bd with SMTP id ffacd0b85a97d-45461316920mr28476029f8f.10.1778590019078; Tue, 12 May 2026 05:46:59 -0700 (PDT) Received: from airbuntu.. ([146.70.179.109]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4549130549bsm33224020f8f.18.2026.05.12.05.46.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 05:46:58 -0700 (PDT) From: Qais Yousef To: Ingo Molnar , Peter Zijlstra , Vincent Guittot Cc: "Rafael J. Wysocki" , Viresh Kumar , Juri Lelli , Steven Rostedt , John Stultz , Dietmar Eggemann , Tim Chen , "Chen, Yu C" , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Qais Yousef Subject: [PATCH] sched/fair: Call update_util_est() after dequeue_entities() Date: Tue, 12 May 2026 13:46:53 +0100 Message-Id: <20260512124653.305275-1-qyousef@layalina.io> X-Mailer: git-send-email 2.34.1 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 update_util_est() reads task_util() at dequeue which is updated in dequeue_entities(). To read the accurate util_avg at dequeue, make sure to do the read after load_avg is updated in dequeue_entities(). util_est for a periodic task before periodic-3114 util_est.enqueued running =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=90 183=E2=94=A4 =E2=96=96=E2=96=97 =E2=96=90=E2=96=96 = =E2=96=96 =E2=96=97=E2=96=99 =E2=96=97 =E2=96=97=E2=96=99=E2=96=96=E2= =96=96 =E2=96=96=E2=96=96 =E2=96=96 =E2=96=96=E2=96=96 = =E2=96=97 =E2=96=9F =E2=96=97=E2=96=84=E2=96=96 =E2=94=82 139=E2=94=A4 =E2=96=90=E2=96=9B=E2=96=88=E2=96=9C=E2=96=99=E2= =96=9E=E2=96=80=E2=96=84=E2=96=84=E2=96=9E=E2=96=9A=E2=96=84=E2=96=9F=E2=96= =88=E2=96=9E=E2=96=99=E2=96=88=E2=96=84=E2=96=9F=E2=96=80=E2=96=9A=E2=96=84= =E2=96=84=E2=96=9E=E2=96=9A=E2=96=84=E2=96=84=E2=96=9F=E2=96=80=E2=96=80=E2= =96=9B=E2=96=84=E2=96=9D=E2=96=84=E2=96=84=E2=96=84=E2=96=99=E2=96=88=E2=96= =9B=E2=96=9B=E2=96=88=E2=96=9B=E2=96=9C=E2=96=9B=E2=96=84=E2=96=84=E2=96=80= =E2=96=84=E2=96=88=E2=96=99=E2=96=9B=E2=96=9B=E2=96=9B=E2=96=99=E2=96=84=E2= =96=80=E2=96=84=E2=96=84=E2=96=96=E2=96=9C=E2=96=84=E2=96=9F=E2=96=88=E2=96= =9F=E2=96=80=E2=96=9C=E2=96=9F=E2=96=84=E2=96=9C=E2=96=80=E2=96=84=E2=96=84= =E2=96=9F=E2=96=99=E2=96=96 =E2=94=82 95=E2=94=A4 =E2=96=90=E2=96=80 =E2=96=98 =E2=96=9D =E2= =96=9D =E2=96=9D=E2=96=98 =E2=96=98 =E2=96=98=E2=96=98 = =E2=96=9D=E2=96=98 =E2=96=9D=E2=96=98 =E2=96=9D =E2=96=9D = =E2=96=80 =E2=94=82 =E2=94=82 =E2=96=9B = =E2=94=82 51=E2=94=A4 =E2=96=90=E2=96=98 = =E2=94=82 7=E2=94=A4 =E2=96=96=E2=96=97=E2=96=97 =E2=96=97=E2=96=84=E2=96=90 = = =E2=94=82 =E2=94=94=E2=94=AC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=AC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=AC=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=AC= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=AC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=AC=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=AC=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =AC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=AC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=AC=E2=94=98 0.00 0.65 1.30 1.96 2.61 3.26 3.91 = 4.57 5.22 5.87 and after periodic-2977 util_est.enqueued running =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=90 157.0=E2=94=A4 =E2=96=99=E2=96=84 =E2=96=97=E2=96=84 =E2=96= =97=E2=96=84=E2=96=84=E2=96=84 =E2=96=97=E2=96=84 =E2=96=97=E2=96=84=E2=96= =84=E2=96=84=E2=96=97=E2=96=84=E2=96=84 =E2=96=97=E2=96=84=E2=96=84=E2=96= =96 =E2=96=84 =E2=96=84=E2=96=84=E2=96=84 =E2=96=84 =E2=96=84=E2=96=96= =E2=96=96 =E2=96=84=E2=96=84=E2=96=84=E2=96=84=E2=96=84=E2=96=96=E2=96=96= =E2=96=9D=E2=96=99=E2=96=84=E2=96=84=E2=96=84=E2=96=84=E2=96=84=E2=96=84=E2= =96=96 =E2=96=97=E2=96=84 =E2=94=82 119.5=E2=94=A4 =E2=96=97=E2=96=84=E2=96=8C=E2=96=98=E2=96=80=E2= =96=80 =E2=96=80=E2=96=80=E2=96=80 =E2=96=9D=E2=96=80=E2=96=80=E2=96=98=E2= =96=9D=E2=96=80=E2=96=80=E2=96=80 =E2=96=9D=E2=96=80=E2=96=98 =E2=96=9D=E2= =96=80=E2=96=80=E2=96=98 =E2=96=80=E2=96=9D=E2=96=80=E2=96=98=E2=96=80=E2= =96=80=E2=96=80=E2=96=98=E2=96=9D=E2=96=80=E2=96=80=E2=96=80=E2=96=80=E2=96= =80=E2=96=80=E2=96=80=E2=96=98=E2=96=9D=E2=96=9D=E2=96=80=E2=96=80 =E2=96= =80 =E2=96=9D=E2=96=9D=E2=96=80 =E2=96=80 =E2=96=80=E2=96=80=E2=96=80= =E2=96=80 =E2=94=82 82.0=E2=94=A4 =E2=96=9F = =E2=94=82 =E2=94=82 =E2=96=8C = =E2=94=82 44.5=E2=94=A4 =E2=96=8C = =E2=94=82 7.0=E2=94=A4 =E2=96=97 =E2=96=97=E2=96=96 =E2=96=8C = =E2=94=82 =E2=94=94=E2=94=AC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=AC=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=AC=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =AC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=AC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=AC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=AC=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=AC=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=AC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=AC=E2=94=98 0.00 0.65 1.30 1.95 2.60 3.25 3.90 = 4.56 5.21 5.86 Note how the signal is noisier and can peak to 183 vs 157 now. Fixes: b55945c500c5 ("sched: Fix pick_next_task_fair() vs try_to_wake_up() = race") Signed-off-by: Qais Yousef --- This is split from [1] series where I stumbled upon this problem. AFAICS it needs backporting all the way to 6.12 LTS. [1] https://lore.kernel.org/lkml/20260504020003.71306-1-qyousef@layalina.io/ kernel/sched/fair.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 728965851842..96ba97e5f4ae 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -7401,6 +7401,8 @@ static int dequeue_entities(struct rq *rq, struct sch= ed_entity *se, int flags) */ static bool dequeue_task_fair(struct rq *rq, struct task_struct *p, int fl= ags) { + int ret; + if (task_is_throttled(p)) { dequeue_throttled_task(p, flags); return true; @@ -7409,8 +7411,9 @@ static bool dequeue_task_fair(struct rq *rq, struct t= ask_struct *p, int flags) if (!p->se.sched_delayed) util_est_dequeue(&rq->cfs, p); =20 + ret =3D dequeue_entities(rq, &p->se, flags); util_est_update(&rq->cfs, p, flags & DEQUEUE_SLEEP); - if (dequeue_entities(rq, &p->se, flags) < 0) + if (ret < 0) return false; =20 /* --=20 2.34.1