From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from serv15.avernis.de (serv15.avernis.de [176.9.89.163]) (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 B53992F8E8C for ; Fri, 8 May 2026 08:15:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=176.9.89.163 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778228137; cv=none; b=f1OnG8UwywKEGJ6/QeV+EXVQjjaRw9krBmlnGYkg9wIH4cSBYrE7kruso/PN9jX4p/p3XCca7ejlktdHdBPZZ8s/+LRu1OUMvVBZ2HxkNuizw68TM/yz92R2Yl6ijNNu4oYAsLxMh/XV7mEEGuBlNg9UQGgIpUBLZOBCNBK0ZyU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778228137; c=relaxed/simple; bh=dlPdpXr7UuhNyE2rxdusNRvV/tcnNxHvwOkAQ/oMKjE=; h=MIME-Version:Date:From:To:Cc:Subject:Message-ID:Content-Type; b=MYZxelgvRTt+mjRRANirSfQiF1Lt7qIAoLIztucq9t+ndkNqU2fburFe/bPohbd/j66qT4MnSO4BMsbwy0CZdhKVG7JKAw0Eqs399J3SgUnhNe/YkCwtnPeMwErZF88JHbd8e8Daw0HOpl2Ng/jRJoU/FlMiPGrTYBuqSNrEwdg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=umbiko.net; spf=none smtp.mailfrom=umbiko.net; dkim=pass (1024-bit key) header.d=umbiko.net header.i=@umbiko.net header.b=qRYM4Sjm; arc=none smtp.client-ip=176.9.89.163 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=umbiko.net Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=umbiko.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=umbiko.net header.i=@umbiko.net header.b="qRYM4Sjm" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=umbiko.net; s=mail; t=1778227777; bh=dlPdpXr7UuhNyE2rxdusNRvV/tcnNxHvwOkAQ/oMKjE=; h=Date:From:To:Cc:Subject; b=qRYM4SjmjESgHsnBglWyrlaWXEofp4phRhzc/zBiCYhy1sK0xdqF4/YZRGvMVtUTg tcYCZKiBDp6PMGFO1XjSvOroGS/n0dCl+ZOa+Tkab+JWxHNHi9jpdkjy9aF66hSAWj t8zURjc+xF6c/iU/gmTkxN56PHSON0oF1cETwGlM= Received: by serv15.avernis.de (Postfix) with ESMTPSA id 17D42BDE30E3; Fri, 08 May 2026 10:09:36 +0200 (CEST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Date: Fri, 08 May 2026 08:09:36 +0000 From: Andreas Ziegler To: Peter Zijlstra , Juri Lelli Cc: linux-kernel@vger.kernel.org Subject: Re: sched/deadline: Use revised wakeup rule for dl_server Message-ID: <496e4b3329fe258da9618b9f05b18fcf@umbiko.net> X-Sender: br025@umbiko.net Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: clamav-milter 1.4.3 at serv15.avernis.de X-Virus-Status: Clean Linux kernel version: 6.12 CONFIG_PREEMPT_RT (w/ PREEMPT_RT patch applied) Architecture: aarch64 Platform: Raspberry Pi 4 Hi everyone, Commit d66792919d4f (sched/deadline: Use revised wakeup rule for dl_server) [1] introduced a marked degradation in scheduling latency for real-time tasks in the presence of heavy I/O load. --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -1079,7 +1079,7 @@ static void update_dl_entity(struct sched_dl_entity *dl_se) if (dl_time_before(dl_se->deadline, rq_clock(rq)) || dl_entity_overflow(dl_se, rq_clock(rq))) { - if (unlikely(!dl_is_implicit(dl_se) && + if (unlikely((!dl_is_implicit(dl_se) || dl_se->dl_defer) && !dl_time_before(dl_se->deadline, rq_clock(rq)) && !is_dl_boosted(dl_se))) { update_dl_revised_wakeup(dl_se, rq); This was observed using a modified version of Con Kolivas' interactivity benchmark [2]; kernel bisection eventually pointed to the above mentioned commit. Benchmark results before d66792919d4f: --- Benchmarking simulated cpu of Audio real time in the presence of simulated --- Load Latency +/- SD median max [100n] Desired CPU Deadlines met [%] None 76.6 +/- 8.3654 76 166 Video 78.5 +/- 3.9433 78 107 X 76.4 +/- 8.123 75 157 Burn 72.0 +/- 6.4733 71 127 Write 255.3 +/- 26.627 252 331 Read 226.6 +/- 12.38 227 262 Ring 84.2 +/- 6.6207 83 125 Compile 225.3 +/- 23.949 222 328 136.8 +/- 78.462 331 Benchmark results after d66792919d4f: --- Benchmarking simulated cpu of Audio real time in the presence of simulated --- Load Latency +/- SD median max [100n] Desired CPU Deadlines met [%] None 68.4 +/- 9.7864 67 169 Video 74.4 +/- 3.724 74 97 X 72.0 +/- 6.5681 71 129 Burn 66.9 +/- 5.9059 66 117 Write 9576.9 +/- 67639 250500418 98.1 98.1 Read 209.3 +/- 11.018 209 267 Ring 80.5 +/- 8.0993 78 125 Compile 239.0 +/- 29.447 234 372 1298.4 +/- 24118 500418 Reverting this commit obviously solves the issue for me. I have no idea why this issue appears exclusively with heavy write loads in the background. Is this a scheduler issue, or rather something in the background? Kind regards, Andreas [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.86&id=d66792919d4f7bd326dfd8c21d019f7c5d4ef05c [2] https://github.com/ckolivas/interbench