From nobody Tue Jun 16 04:07:38 2026 Received: from m16.mail.126.com (m16.mail.126.com [220.197.31.6]) (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 119131FFC59 for ; Thu, 16 Apr 2026 01:27:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.6 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776302841; cv=none; b=AJYlTd8ZQb68CYqBOa6Z+wcAouZ0xSsEKgUA+Mh5pZ+is5+srmy9sF/PdF8Lj0Ll2t3zsIL60Hfk/+l81bTSw63sk/JipbRhIj41klR3zQEzktm6XH+itQZa0patv4Y6bNhKIriyMMazourr3lgbDCzRYsxXL8RahjOamCa+Gb8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776302841; c=relaxed/simple; bh=twuqFePOdLJCqs4Dww+Nh833c/rdSZMR79UDQhDBXjg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RGys41+rlEZD32zYtYww+/GstM7ZVF5EgVFYWSV3iU8hheNCEgnmedYayO/bozBvw7Ef+uuS01PYsDsNFungyMM+HBUYxPv+DCSRquw9mF7JBWOMaZuACpYERQMcELnN7XbyxWWhGHuwMNbAZxSw/qos7GkUU3bH52B63gOkRKs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=126.com; spf=pass smtp.mailfrom=126.com; dkim=pass (1024-bit key) header.d=126.com header.i=@126.com header.b=Va8ncJI8; arc=none smtp.client-ip=220.197.31.6 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=126.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=126.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=126.com header.i=@126.com header.b="Va8ncJI8" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:To:Subject:Date:Message-ID:MIME-Version; bh=FG 7wxpghODdWOL/Jx59tqefNLB283u26RMIuDDw7osU=; b=Va8ncJI8hdQszQLv/S JJeY0ga5+vQ9McduPyJpyAZOQ8ulNVuhvDVh9yW2OQoyfLivh/2+bgXBYgQJPG/b is4cASGOQ68DsFsYYwUW8CNf1wTo3pLi8yw3GjgVqs6xn7Hop7vWpHfudZczfMIZ vSzv6Gnm7o/Y9wvZcqzY35NYQ= Received: from localhost.localdomain (unknown []) by gzsmtp3 (Coremail) with SMTP id PikvCgD3P6_POuBpPsBlDw--.10078S3; Thu, 16 Apr 2026 09:26:40 +0800 (CST) From: Zhao Mengmeng To: tj@kernel.org, void@manifault.com, arighi@nvidia.com, changwoo@igalia.com Cc: yphbchou0911@gmail.com, sched-ext@lists.linux.dev, linux-kernel@vger.kernel.org, zhaomengmeng@kylinos.cn Subject: [PATCH v2 1/2] tools/sched_ext: Add missing -c option in scx_qmap help Date: Thu, 16 Apr 2026 09:26:28 +0800 Message-ID: <20260416012629.48414-2-zhaomzhao@126.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260416012629.48414-1-zhaomzhao@126.com> References: <20260416012629.48414-1-zhaomzhao@126.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PikvCgD3P6_POuBpPsBlDw--.10078S3 X-Coremail-Antispam: 1Uf129KBjvJXoW7ZF4DGryxAry8GrykWrWruFg_yoW8XFW8pF 4kXrW8CryvqF1fJr1kZa48X345uws3WrWSgFZ7u34qvwn3tr1Iq3W7GFsaqrn8JryIyay8 Zr9a9w17tF15CaDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jriSdUUUUU= X-CM-SenderInfo: 52kd0zp2kd0qqrswhudrp/xtbBlhBVzGngOtB+nwAA3d Content-Type: text/plain; charset="utf-8" From: Zhao Mengmeng The sub-scheduler api has been added to scx_qmap, but the new -c option is missing in help, which is hard to understand and use. Add it in help. Signed-off-by: Zhao Mengmeng Reviewed-by: Cheng-Yang Chou --- tools/sched_ext/scx_qmap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/sched_ext/scx_qmap.c b/tools/sched_ext/scx_qmap.c index e7c89a2bc3d8..d75e77464307 100644 --- a/tools/sched_ext/scx_qmap.c +++ b/tools/sched_ext/scx_qmap.c @@ -21,7 +21,7 @@ const char help_fmt[] =3D "See the top-level comment in .bpf.c for more details.\n" "\n" "Usage: %s [-s SLICE_US] [-e COUNT] [-t COUNT] [-T COUNT] [-l COUNT] [-b C= OUNT]\n" -" [-P] [-M] [-H] [-d PID] [-D LEN] [-S] [-p] [-I] [-F COUNT] [-v]\n" +" [-P] [-M] [-H] [-c CG_PATH] [-d PID] [-D LEN] [-S] [-p] [-I] [-F C= OUNT] [-v]\n" "\n" " -s SLICE_US Override slice duration\n" " -e COUNT Trigger scx_bpf_error() after COUNT enqueues\n" @@ -32,6 +32,7 @@ const char help_fmt[] =3D " -P Print out DSQ content and event counters to trace_pipe ev= ery second\n" " -M Print out debug messages to trace_pipe\n" " -H Boost nice -20 tasks in SHARED_DSQ, use with -b\n" +" -c CG_PATH Cgroup path to attach as sub-scheduler, must run parent s= cheduler first\n" " -d PID Disallow a process from switching into SCHED_EXT (-1 for = self)\n" " -D LEN Set scx_exit_info.dump buffer length\n" " -S Suppress qmap-specific debug dump\n" --=20 2.43.0 From nobody Tue Jun 16 04:07:38 2026 Received: from m16.mail.126.com (m16.mail.126.com [117.135.210.8]) (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 2B2A92264AB for ; Thu, 16 Apr 2026 01:27:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.8 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776302844; cv=none; b=QPqsrbAhn1Dox5YXT7GsKpAcKkKc/ebO9wGzeJdUN980Y2ZU+5Wl+VjjDaVZFwfXPFR1vs/X2bWZzeFRQI3iAweUdFmaqlzrkQ63vns/bqIihwrPqUY8Z5jEu+aYas3X0uvhZVEUrAakT556eF9gfIXwAXkNGOVwdiMRfdyi1hI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776302844; c=relaxed/simple; bh=0NPff8qv5ZpbhvzhMc052Lek2kjbyQ46v5mNbWpq0UA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JdRMrpk137TWRvuogrdBzacLNnM3cvE27PgDUI+zO0rlpK4TSbpq5XBAOHZVr6xXTeJC2//5uPVfZDTzSn4rThYO3bIA5Bdiz4NTBNzF+TfRP+Vjf4UDOoPe2xXTHtgKoxWlOUkAkRoGw/o/ill1BeQPK9uCFRQC6P9tw+W4T04= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=126.com; spf=pass smtp.mailfrom=126.com; dkim=pass (1024-bit key) header.d=126.com header.i=@126.com header.b=kkrYPfkI; arc=none smtp.client-ip=117.135.210.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=126.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=126.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=126.com header.i=@126.com header.b="kkrYPfkI" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:To:Subject:Date:Message-ID:MIME-Version; bh=MO 9zfOHQVMneVVRYJXXzsHNZuKRDVPKnBw+V44zOZfo=; b=kkrYPfkIqlaOtyAyz2 pNFmCb52mMygewInG8AQMkx0TMMThr2HhD7VD0ep5PXWxKbkYpa15whUhKH3g+C6 SF7nJF2n9ePFmXrPAJRvGB9Jch3wToXmFjMo7c+2KF5SlVbRGwhZ1EAUtYr0OrCZ QnsVPjev3FfOToGhLrDeNJi2o= Received: from localhost.localdomain (unknown []) by gzsmtp3 (Coremail) with SMTP id PikvCgD3P6_POuBpPsBlDw--.10078S4; Thu, 16 Apr 2026 09:26:40 +0800 (CST) From: Zhao Mengmeng To: tj@kernel.org, void@manifault.com, arighi@nvidia.com, changwoo@igalia.com Cc: yphbchou0911@gmail.com, sched-ext@lists.linux.dev, linux-kernel@vger.kernel.org, zhaomengmeng@kylinos.cn Subject: [PATCH v2 2/2] sched_ext: Print sub-scheduler disabled log and reason Date: Thu, 16 Apr 2026 09:26:29 +0800 Message-ID: <20260416012629.48414-3-zhaomzhao@126.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260416012629.48414-1-zhaomzhao@126.com> References: <20260416012629.48414-1-zhaomzhao@126.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PikvCgD3P6_POuBpPsBlDw--.10078S4 X-Coremail-Antispam: 1Uf129KBjvJXoWxGF4fJw17CF4rKr1rZr1DWrg_yoW5Gw4xpF s3XrW2yF9Iqa42gan2y395ury5JrZ7Aa42vr1aka92yr1jqrn5Xr48JrySvF98Jr95Jw42 kr4vg342gF47K3DanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jFApnUUUUU= X-CM-SenderInfo: 52kd0zp2kd0qqrswhudrp/xtbBlxBVzGngOtC0LQAA3k Content-Type: text/plain; charset="utf-8" From: Zhao Mengmeng Take scx_qmap for example, when sub scheduler is attached, there is 'BPF sub-scheduler "qmap" enabled' message, but when dettached, the log is missing. Add a new function to do the log thing, it can be used by both root scheduler and sub scheduler. Signed-off-by: Zhao Mengmeng Reviewed-by: Cheng-Yang Chou --- kernel/sched/ext.c | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c index 012ca8bd70fb..229a82900e8f 100644 --- a/kernel/sched/ext.c +++ b/kernel/sched/ext.c @@ -5526,6 +5526,26 @@ static void scx_disable_dump(struct scx_sched *sch) sch->dump_disabled =3D true; } =20 +static void scx_log_sched_disable(struct scx_sched *sch) +{ + struct scx_exit_info *ei =3D sch->exit_info; + const char *type =3D scx_parent(sch) ? "sub-scheduler" : "scheduler"; + + if (ei->kind >=3D SCX_EXIT_ERROR) { + pr_err("sched_ext: BPF %s \"%s\" disabled (%s)\n", type, + sch->ops.name, ei->reason); + + if (ei->msg[0] !=3D '\0') + pr_err("sched_ext: %s: %s\n", sch->ops.name, ei->msg); +#ifdef CONFIG_STACKTRACE + stack_trace_print(ei->bt, ei->bt_len, 2); +#endif + } else { + pr_info("sched_ext: BPF %s \"%s\" disabled (%s)\n", type, + sch->ops.name, ei->reason); + } +} + #ifdef CONFIG_EXT_SUB_SCHED static DECLARE_WAIT_QUEUE_HEAD(scx_unlink_waitq); =20 @@ -5696,6 +5716,8 @@ static void scx_sub_disable(struct scx_sched *sch) &sub_detach_args); } =20 + scx_log_sched_disable(sch); + if (sch->ops.exit) SCX_CALL_OP(sch, exit, NULL, sch->exit_info); kobject_del(&sch->kobj); @@ -5707,7 +5729,6 @@ static void scx_sub_disable(struct scx_sched *sch) { } =20 static void scx_root_disable(struct scx_sched *sch) { - struct scx_exit_info *ei =3D sch->exit_info; struct scx_task_iter sti; struct task_struct *p; int cpu; @@ -5797,22 +5818,10 @@ static void scx_root_disable(struct scx_sched *sch) scx_idle_disable(); synchronize_rcu(); =20 - if (ei->kind >=3D SCX_EXIT_ERROR) { - pr_err("sched_ext: BPF scheduler \"%s\" disabled (%s)\n", - sch->ops.name, ei->reason); - - if (ei->msg[0] !=3D '\0') - pr_err("sched_ext: %s: %s\n", sch->ops.name, ei->msg); -#ifdef CONFIG_STACKTRACE - stack_trace_print(ei->bt, ei->bt_len, 2); -#endif - } else { - pr_info("sched_ext: BPF scheduler \"%s\" disabled (%s)\n", - sch->ops.name, ei->reason); - } + scx_log_sched_disable(sch); =20 if (sch->ops.exit) - SCX_CALL_OP(sch, exit, NULL, ei); + SCX_CALL_OP(sch, exit, NULL, sch->exit_info); =20 scx_unlink_sched(sch); =20 --=20 2.43.0