From nobody Tue Jun 16 02:37:46 2026 Received: from m16.mail.126.com (m16.mail.126.com [117.135.210.7]) (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 34D9C3B19BB for ; Fri, 17 Apr 2026 09:19:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776417561; cv=none; b=MMc2F+M2TdtqqMfRo9zUAceEtBT2MCKPvZDboLaSX79/Cs2mBUAPrQAAePNz1yZzxZtPwUDVZfRU/XUnX9/0OABtw5+zkmFQ26JXuu/KC61Z/uqI2dEUbTFyFo52jdB2V0iGdyNMoRYuB4UDW/67Am1OTBmh3AguXVnULmSRhxo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776417561; c=relaxed/simple; bh=O/mebuCUkEA3/Nd3oABndkbrsYCXoTYPE60hWZMD9Jg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LHWLYDKPunBMftc/X8UXuXvNkN0CZap62xafBO/RNniGPJiKjCDnxiiZ0oD1uq7DvOY5MKIunDccX+NnhH0DuhHoqu5X41VHpCTxb5d+leC8qAnfTCKfKdeqVyBLvVrSLobINpyt7oB3a6MR0ufgZxXFStoHRUM0iSH9gCSNC/M= 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=J0tQ30KI; arc=none smtp.client-ip=117.135.210.7 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="J0tQ30KI" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Date:Subject:MIME-Version:Content-Type: Message-Id:To; bh=kNOCjAuKnRK9xQ88OZ2Vcbm4jyVbfNgNJCwQqDZGQO4=; b=J0tQ30KI6hq86n5UOKrZxMjkwZ1o3QaSm4abwJ7xNm+ojLCywZKvkjsTW9ZfQI Y/JirZ+dc2mM+uZTTk0tAFuiRNo0LYxkLGQ57RlFJXLk4grE9pxgpxrFigNiWL+c qxp1ehB4s0Wy5GAWEeURTByo+OQPMctGMvwbpkoMw7nEM= Received: from [127.0.1.1] (unknown []) by gzga-smtp-mtada-g1-2 (Coremail) with SMTP id _____wD3l+jY+uFpMSmcBg--.7149S3; Fri, 17 Apr 2026 17:18:17 +0800 (CST) From: Zhao Mengmeng Date: Fri, 17 Apr 2026 17:18:02 +0800 Subject: [PATCH v3 1/2] tools/sched_ext: Add missing -c option in scx_qmap help 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 Message-Id: <20260417-sched_ext-0417-v3-1-e11b3aed57d3@kylinos.cn> References: <20260417-sched_ext-0417-v3-0-e11b3aed57d3@kylinos.cn> In-Reply-To: <20260417-sched_ext-0417-v3-0-e11b3aed57d3@kylinos.cn> To: Tejun Heo , David Vernet , Andrea Righi , Changwoo Min Cc: sched-ext@lists.linux.dev, linux-kernel@vger.kernel.org, Zhao Mengmeng , Cheng-Yang Chou X-Mailer: b4 0.15.2 X-CM-TRANSID: _____wD3l+jY+uFpMSmcBg--.7149S3 X-Coremail-Antispam: 1Uf129KBjvJXoW7ZF4DGryxAryDCry7Wr4Durg_yoW8WrW8pF 4kXr48CrnaqFy3Jr1kZa48X34rWws3WrWIqFZ7u34q93Z3tr1Iqw17GFsaqr4DJryIya48 AF9agw17KF15C3DanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jriSdUUUUU= X-CM-SenderInfo: 52kd0zp2kd0qqrswhudrp/xtbBqxnHP2nh+tky6AAA37 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. V2: add [-c CG_PATH] to the usage synopsis. Signed-off-by: Zhao Mengmeng Reviewed-by: Cheng-Yang Chou --- tools/sched_ext/scx_qmap.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/sched_ext/scx_qmap.c b/tools/sched_ext/scx_qmap.c index 4bdcc4bc5fbd..725c4880058d 100644 --- a/tools/sched_ext/scx_qmap.c +++ b/tools/sched_ext/scx_qmap.c @@ -23,7 +23,8 @@ 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" -" [-N COUNT] [-P] [-M] [-H] [-d PID] [-D LEN] [-S] [-p] [-I] [-F COU= NT] [-v]\n" +" [-N COUNT] [-P] [-M] [-H] [-c CG_PATH] [-d PID] [-D LEN] [-S] [-p]= [-I]\n" +" [-F COUNT] [-v]\n" "\n" " -s SLICE_US Override slice duration\n" " -e COUNT Trigger scx_bpf_error() after COUNT enqueues\n" @@ -35,6 +36,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 02:37:46 2026 Received: from m16.mail.126.com (m16.mail.126.com [220.197.31.7]) (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 73D9D3B2FEA for ; Fri, 17 Apr 2026 09:19:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776417559; cv=none; b=EZP84DuJUivsmw81hpcIpfH6610sRczeZvs/19hO8Hugc8hHOfAzAmEtX7miUkaJHfIOWxqMN3Eb0urft14H4x0J+IvX1UHFzpR4eJ+WQsaK3hRq83fHSCqY8N/5z7Hj9/gaWNEBHKFlSb9aw+xIgsBdZDKfzLjvOXcFGLgGZro= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776417559; c=relaxed/simple; bh=UwyksRQ5c86mTTQO9xPq2ziGF9I5fXhPtUbjvh0yeIs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ChgXbzWjEJhwKAu1OEIaIPqj1hqJq9Udtt/ARKhCvGI5NLbdRSmO1kZlPV49q5fjncL7udNquBjddSQSTMtlBoyzaa/B/YsPRlDscKJzoMwev9hrbvpVXSpAE9I+5QUOPahoLhfn3yhDERFw/NPDRjGWszBB5Soy9Vi6BVtSUWs= 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=Npiq7GaR; arc=none smtp.client-ip=220.197.31.7 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="Npiq7GaR" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Date:Subject:MIME-Version:Content-Type: Message-Id:To; bh=/G/stN75FhQaLePcl6XX1ad6ZHRO1Odyb/Yxm3VQH8M=; b=Npiq7GaROm4BGatvDJeAc3GPK1kfXuu67PVjw9Gv2bdtyxBZZjLwilqWjTjDl1 ySlZ3Izl5TTFLYpc39hrCzrC1FIlt9GJpDGkLgBIgFNvfHUK1gLJKO/gv/V9uG0Z mRrNDkSPWU1peCaDalagSMzaC/qDg0Fk4nV5HKAw3ocH0= Received: from [127.0.1.1] (unknown []) by gzga-smtp-mtada-g1-2 (Coremail) with SMTP id _____wD3l+jY+uFpMSmcBg--.7149S4; Fri, 17 Apr 2026 17:18:17 +0800 (CST) From: Zhao Mengmeng Date: Fri, 17 Apr 2026 17:18:03 +0800 Subject: [PATCH v3 2/2] sched_ext: Print sub-scheduler disabled log and reason 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 Message-Id: <20260417-sched_ext-0417-v3-2-e11b3aed57d3@kylinos.cn> References: <20260417-sched_ext-0417-v3-0-e11b3aed57d3@kylinos.cn> In-Reply-To: <20260417-sched_ext-0417-v3-0-e11b3aed57d3@kylinos.cn> To: Tejun Heo , David Vernet , Andrea Righi , Changwoo Min Cc: sched-ext@lists.linux.dev, linux-kernel@vger.kernel.org, Zhao Mengmeng , Cheng-Yang Chou X-Mailer: b4 0.15.2 X-CM-TRANSID: _____wD3l+jY+uFpMSmcBg--.7149S4 X-Coremail-Antispam: 1Uf129KBjvJXoWxGF4fJw17CF4rKr1rtr1UWrg_yoW5XF17pF s3XrW7tF9Fqay2gan2y395ury5JrZ7A342vr1aka9Fyr1jqr1rXr48JryIvF98Jr95Jw42 kr4vgw12gF4UK3DanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jFApnUUUUU= X-CM-SenderInfo: 52kd0zp2kd0qqrswhudrp/xtbBqxrHP2nh+toy8QAA3i From: Zhao Mengmeng Take scx_qmap for example, when sub scheduler is attached, there is 'BPF sub-scheduler "qmap" enabled' message, but when detached, 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