From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) (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 0CF4039F172 for ; Wed, 22 Apr 2026 23:07:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776899231; cv=none; b=ulTQ6ErXJkZNZVY94Zx4l53xDwQgWi6ripa7c94izkKmd2JnRe14ghCRr7E9VfwGQg+2DmC06uT2tTyVZF+7KNHVwwt79eohhSZxYNudv5lwyMSyY3Jd7JGxbzlDelp/m4Pe7gfLNaaWPrJuShCFtEsEJigZwWChUltxFHfNGOA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776899231; c=relaxed/simple; bh=YRW/EPe5+CC0yj8CG1OH6gDifbLU+FWNeYZ8EzC0ipY=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=obG5faUTtp9298HTkczEqkBW624JfLPB1WYT7yjkFBN4DdKd9iElpoE+yIZ7RBbAAgkfyVZsaaJK0s7l7k6SA0yRVNCL3UBzytCWSdfW095ZGr4I0go6QY+0CXD/K/IT3WMzTxo+HcNLgrkL6CtIway6q4xJ+daQ9aO6cGMtuW8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jstultz.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=exBnH6R6; arc=none smtp.client-ip=209.85.214.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jstultz.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="exBnH6R6" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-2b2e06219cbso76805805ad.3 for ; Wed, 22 Apr 2026 16:07:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1776899229; x=1777504029; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=XNUOzC8w0maPp8alwRX3ZW5+YpT5DiPfDrAYQzTzt3U=; b=exBnH6R6zYLUh/o0Al1zvgUymKuN4x3+WXNuBhVcgsU622jP4PkRT9DQBwWV0LwGK7 zsOJaebelzUhtvelf/PGiN6QNt2TKnXHjrWc+Sqae4mq8sKt6n6fu5glBuRFo78PGo8h HQiPHVygQ8nIpxby1JWuLsIBFxxCsr6m18p2ROC/2Vl+RfhKKgLi+bzpdKrIxLRPmAM6 d5Rwcbaon9Xfe9cxoStOGtvxRnaIH61lIQhf1zf8EICTQdlbok+0zQ7OB9DQ5teM0uEM BL8WI+oVKb3NmJltSeKBjv2xYHGOfJpHC0b2ZQL2subYodfQ0aOOExKTko+n04tSd7nZ 1K4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776899229; x=1777504029; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=XNUOzC8w0maPp8alwRX3ZW5+YpT5DiPfDrAYQzTzt3U=; b=OQfRLUhTx95NjChArrMccyjMJo+NspoJPeg/pOGH1/MTywzTiOm9zzG0art44bsGi4 Np6CwsucqzIq+UeTC8IVRdURrgljkU6N5Ej29PVF/lRW8f4X0Qm6bILYjPNKNsD3Yr00 ZpDdzOAR673p/WnP4vAZPNmE7kgZAs9+Gliu/pYD9CgUNhhjoQ4SLIW2XuqYWkX3L0vi fscBrLArLOgxFD6O5/ky2RAgYWBfs/55GWfaJDezV8+FlSINYvTUm2xcvSykDv1vl8T0 OLuluRHsHz8loe2Qq3XUojLXDVNhhrR8kYNVAgFEIUzzei6OoWTqt/BULxWVh4dKNhGy rrmA== X-Gm-Message-State: AOJu0Yw+ykZ7ZyQbeWoDTFSztTgfIW/An78UtaouPsEbY7BEbJvH2P/z JF4tdcmV1infjE9Wo8MDPG2dFXZ3/Sv8jcIEs84I6Fd4wqOqsD42xBavCvZCmh+mOwyMZtsuTV8 lBOXPYS7ogZQ5ZCQm0OgNt4SuShA5Q0V8pA23Q46rZxqz6zLJ9+4KzrI4VjKyVyApIJByrnhlve EkptI1ZsSlEDcivpMVHwCOV3dcv+1RmIHIyf7Ng6aul1kE2k1g X-Received: from plbmh12.prod.google.com ([2002:a17:903:9cc:b0:2b2:98eb:2605]) (user=jstultz job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:1450:b0:2b7:a350:463f with SMTP id d9443c01a7336-2b7a3505063mr5185105ad.10.1776899228698; Wed, 22 Apr 2026 16:07:08 -0700 (PDT) Date: Wed, 22 Apr 2026 23:06:43 +0000 In-Reply-To: <20260422230659.903191-1-jstultz@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260422230659.903191-1-jstultz@google.com> X-Mailer: git-send-email 2.54.0.rc2.533.g4f5dca5207-goog Message-ID: <20260422230659.903191-3-jstultz@google.com> Subject: [PATCH v28 2/8] sched: deadline: Add some helper variables to cleanup deadline logic From: John Stultz To: LKML Cc: John Stultz , Peter Zijlstra , Joel Fernandes , Qais Yousef , Ingo Molnar , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Valentin Schneider , Steven Rostedt , Ben Segall , Zimuzo Ezeozue , Will Deacon , Waiman Long , Boqun Feng , "Paul E. McKenney" , Metin Kaya , Xuewen Yan , K Prateek Nayak , Thomas Gleixner , Daniel Lezcano , Suleiman Souhlal , kuyo chang , hupu , kernel-team@android.com Content-Type: text/plain; charset="UTF-8" As part of an improvement to handling pushable deadline tasks, Peter suggested this cleanup[1], to use helper values for dl_entity and dl_rq in the enqueue_task_dl() and put_prev_task_dl() functions. There should be no functional change from this patch. To make sure this cleanup change doesn't obscure later logic changes, I've split it into its own patch. [1]: https://lore.kernel.org/lkml/20260304095123.GP606826@noisy.programming.kicks-ass.net/ Suggested-by: Peter Zijlstra Signed-off-by: John Stultz --- Cc: Joel Fernandes Cc: Qais Yousef Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Juri Lelli Cc: Vincent Guittot Cc: Dietmar Eggemann Cc: Valentin Schneider Cc: Steven Rostedt Cc: Ben Segall Cc: Zimuzo Ezeozue Cc: Will Deacon Cc: Waiman Long Cc: Boqun Feng Cc: "Paul E. McKenney" Cc: Metin Kaya Cc: Xuewen Yan Cc: K Prateek Nayak Cc: Thomas Gleixner Cc: Daniel Lezcano Cc: Suleiman Souhlal Cc: kuyo chang Cc: hupu Cc: kernel-team@android.com --- kernel/sched/deadline.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index f07a888314450..4ff3e164d9880 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -2292,7 +2292,10 @@ static void dequeue_dl_entity(struct sched_dl_entity *dl_se, int flags) static void enqueue_task_dl(struct rq *rq, struct task_struct *p, int flags) { - if (is_dl_boosted(&p->dl)) { + struct sched_dl_entity *dl_se = &p->dl; + struct dl_rq *dl_rq = &rq->dl; + + if (is_dl_boosted(dl_se)) { /* * Because of delays in the detection of the overrun of a * thread's runtime, it might be the case that a thread @@ -2305,14 +2308,14 @@ static void enqueue_task_dl(struct rq *rq, struct task_struct *p, int flags) * * In this case, the boost overrides the throttle. */ - if (p->dl.dl_throttled) { + if (dl_se->dl_throttled) { /* * The replenish timer needs to be canceled. No * problem if it fires concurrently: boosted threads * are ignored in dl_task_timer(). */ - cancel_replenish_timer(&p->dl); - p->dl.dl_throttled = 0; + cancel_replenish_timer(dl_se); + dl_se->dl_throttled = 0; } } else if (!dl_prio(p->normal_prio)) { /* @@ -2324,7 +2327,7 @@ static void enqueue_task_dl(struct rq *rq, struct task_struct *p, int flags) * being boosted again with no means to replenish the runtime and clear * the throttle. */ - p->dl.dl_throttled = 0; + dl_se->dl_throttled = 0; if (!(flags & ENQUEUE_REPLENISH)) printk_deferred_once("sched: DL de-boosted task PID %d: REPLENISH flag missing\n", task_pid_nr(p)); @@ -2333,14 +2336,14 @@ static void enqueue_task_dl(struct rq *rq, struct task_struct *p, int flags) } check_schedstat_required(); - update_stats_wait_start_dl(dl_rq_of_se(&p->dl), &p->dl); + update_stats_wait_start_dl(dl_rq, dl_se); if (p->on_rq == TASK_ON_RQ_MIGRATING) flags |= ENQUEUE_MIGRATING; - enqueue_dl_entity(&p->dl, flags); + enqueue_dl_entity(dl_se, flags); - if (dl_server(&p->dl)) + if (dl_server(dl_se)) return; if (task_is_blocked(p)) @@ -2643,7 +2646,7 @@ static void put_prev_task_dl(struct rq *rq, struct task_struct *p, struct task_s struct sched_dl_entity *dl_se = &p->dl; struct dl_rq *dl_rq = &rq->dl; - if (on_dl_rq(&p->dl)) + if (on_dl_rq(dl_se)) update_stats_wait_start_dl(dl_rq, dl_se); update_curr_dl(rq); @@ -2653,7 +2656,7 @@ static void put_prev_task_dl(struct rq *rq, struct task_struct *p, struct task_s if (task_is_blocked(p)) return; - if (on_dl_rq(&p->dl) && p->nr_cpus_allowed > 1) + if (on_dl_rq(dl_se) && p->nr_cpus_allowed > 1) enqueue_pushable_dl_task(rq, p); } -- 2.54.0.rc2.533.g4f5dca5207-goog