From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 F32DA3BE17C for ; Thu, 30 Apr 2026 21:39:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777585163; cv=none; b=CLLt2VGC5/Wb12Rht3HDOQjsidwMSqs1xU6YGR56vMFjh+T06rfMSy/IUsvOZnZD5Ges8E8M0AB8fw1BvJcLmyzlnwqXWJ+9CW/1lQPrHq4hnpTjhLoQUjYI0mItmtT8t7vUzbYL+LzUupTEAzGLnysD/OtOf2jLbUkAjNuD2j4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777585163; c=relaxed/simple; bh=rn6OaWgIK7qfAwTJ7xgJfYgyo9ZNCW2lsqYiE2sBRgk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=f5dSTmZvCwp11pSPjewI5oLFR024rs4W3rC9hcZoersZZj/8NWswnSmrcrIaCQ9EydhkubNggXTgP0C1BNlMb6xL35TW2ZOF9PVK8tqhE5q/BP20OhotQ/+3fmV8gU0Dp97ECSjTzuGtZ8s7psSPpLAgNwNPukeaMzAnuEc3lGA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=T2k/efbt; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="T2k/efbt" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-488b0046078so12007715e9.1 for ; Thu, 30 Apr 2026 14:39:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777585160; x=1778189960; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xXrLx6wU+YxMlLmmovyxNecU9gdFnA1r84P/O+8wd6M=; b=T2k/efbtkHplO3+7V9syPevf452KnhNb77Zt+Z15SrBoFB+ydrou/kL21U3JSlXgMg yOKLO0Rum5PI4A/gd+LE8SG5OBX/BV51uhFLHrBSxlHNcklwxdHQomjlpbn89ni3mZG7 xzEzJHq6m6JVAJuPNl1KuFjdeYnPXJn4klCmWX/7+ySGHM/Fk5yubf0TxbPYG2i/xeGr gXWhUiE8PEcrS9ene6s8w0u/NKzTc+wWAsov28MPuSAcJLk4ENl/UDOYB5CGk7PHeZXh KE52Zsk+AENZO+BxOhvQARWFmYGj9BwCDn5yq7T6A3aCD1zb9rMo3Takwv0EYVlzLW8L Ip+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777585160; x=1778189960; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xXrLx6wU+YxMlLmmovyxNecU9gdFnA1r84P/O+8wd6M=; b=SWGFhkakS4oUjmRVx2MZUT6CgkKsH4oF9hzqwg/RCj50k6LsOnw3UR1ED1nyG0Wp4k bmmz6eIQg4+nrLfgderxixZSTs1bKg+BKkxUe9jxGMON9QG75YewZ6vC8gfQe5F6fdrU 2M0NarpT9gbAbNzUNdVX7tV45cg6dKlncLTrfjPYkUgCdRd/dojv/ih39prMRine6Aob +TTDD/O2Fvw68ldMD++Peco6mOWukZL5JiNpybHsJx2YfSjVYaTZb9tOgLaKvSGJOyAb 4tTYGoS1LG9pa55wzofmb98Z1+GAbtjs3eflL05piNqTIB5zp33roEq6au2sMk0uEUnz DH3Q== X-Gm-Message-State: AOJu0YwGIrRe2nkS4N6ZwZdx5rtv1DY+Amxkn0WddMfKjoAMmmUPHZ1i F7THlaCv70uF7OnK7O8VTt9afStSTb2J0iEC9GIhaBUEQMDB7LGjQ4n0 X-Gm-Gg: AeBDieuVvvczf23uPqu5z1RpbXYT5CXnSDS0LJnVOPDCy7/LybQ5LXiv0nBeAoXQ45p zD8l6bCMyToutPBTn9CWTgKyu97TNDF4t/Lhw4R4kbXOfUXgWaTSileY+7lKk/hN2oGe/x1Z/sH EIeY1FAL8YTMdmyNCvNWKsNPqX7Ur8LLwE8DVu9Yb3pPGlYW4jRHlkZcuFni9NtwOMqM0ygPp+r 9M+FfIxPZgCNhs7pR+fKLZAtWQ9mNIJtOK+gRbJOxb0h0/Cg7Ue2fzJQJ4NUPw9Jg7T7VxwFkIb LipL8U+3XkeBXW6qee/cWCCvvBnAta70ZG6ExRw6aYRyyiA1d1YZe9PhkiWpzb3uvp+j9Vis8Vm 5FfveC/U/JKm6aJbjoPVoX8T6Tpn1GGfZioPrqtf8gyxsMlRvxx1Dtcm1+W8ioTuOQq/nmGvis7 wgBLJxmWNq2pC0sWMhPiFbBNvYymXAjNZOMBQAh6xo X-Received: by 2002:a05:600c:8719:b0:489:1f97:6b1d with SMTP id 5b1f17b1804b1-48a8ebaa93cmr6659125e9.28.1777585160552; Thu, 30 Apr 2026 14:39:20 -0700 (PDT) Received: from yuri-framework13 ([78.211.51.156]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44a9879ef89sm418510f8f.30.2026.04.30.14.39.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 14:39:20 -0700 (PDT) From: Yuri Andriaccio To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider Cc: linux-kernel@vger.kernel.org, Luca Abeni , Yuri Andriaccio Subject: [RFC PATCH v5 25/29] sched/rt: Try pull task on empty server pick Date: Thu, 30 Apr 2026 23:38:29 +0200 Message-ID: <20260430213835.62217-26-yurand2000@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260430213835.62217-1-yurand2000@gmail.com> References: <20260430213835.62217-1-yurand2000@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Try to pull task on a server with an empty runqueue before returning NULL (and thus shutting down). --- When all the servers of a cgroup are throttled, work is pending, and any one of the servers is replenished, it may happen that the runqueue is empty and thus the replenished server is immediately shut down. The server may try to pull a task so that the cgroup could consume its allocated runtime as soon as it is replenished. Signed-off-by: Yuri Andriaccio --- kernel/sched/rt.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index e6b3efa358d3..4553a139398f 100644 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -155,8 +155,14 @@ static struct task_struct *rt_server_pick(struct sched_dl_entity *dl_se, struct struct rq *rq = rq_of_rt_rq(rt_rq); struct task_struct *p; - if (!sched_rt_runnable(dl_se->my_q)) - return NULL; + if (!sched_rt_runnable(dl_se->my_q)) { + rq_unpin_lock(rq, rf); + group_pull_rt_task(rt_rq); + rq_repin_lock(rq, rf); + + if (!sched_rt_runnable(dl_se->my_q)) + return NULL; + } p = rt_task_of(pick_next_rt_entity(rt_rq)); set_next_task_rt(rq, p, true); -- 2.53.0