From: Yafang Shao <laoar.shao@gmail.com>
To: pmladek@suse.com, keescook@chromium.org, viro@zeniv.linux.org.uk,
akpm@linux-foundation.org, peterz@infradead.org,
valentin.schneider@arm.com, mathieu.desnoyers@efficios.com,
qiang.zhang@windriver.com, robdclark@chromium.org,
christian@brauner.io, dietmar.eggemann@arm.com, mingo@redhat.com,
juri.lelli@redhat.com, vincent.guittot@linaro.org,
rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de,
bristot@redhat.com
Cc: linux-kernel@vger.kernel.org, Yafang Shao <laoar.shao@gmail.com>
Subject: [PATCH v2 3/4] sched.h: extend task comm from 16 to 24 for CONFIG_BASE_FULL
Date: Thu, 7 Oct 2021 12:07:51 +0000 [thread overview]
Message-ID: <20211007120752.5195-4-laoar.shao@gmail.com> (raw)
In-Reply-To: <20211007120752.5195-1-laoar.shao@gmail.com>
When I was implementing a new per-cpu kthread cfs_migration, I found the
comm of it "cfs_migration/%u" is truncated due to the limitation of
TASK_COMM_LEN. For example, the comm of the percpu thread on CPU10~19 are
all with the same name "cfs_migration/1", which will confuse the user. This
issue is not critical, because we can get the corresponding CPU from the
task's Cpus_allowed. But for kthreads correspoinding to other hardware
devices, it is not easy to get the detailed device info from task comm,
for example,
jbd2/nvme0n1p2-
nvidia-modeset/
We can also shorten the name to work around this problem, but I find
there are so many truncated kthreads:
rcu_tasks_kthre
rcu_tasks_rude_
rcu_tasks_trace
poll_mpt3sas0_s
ext4-rsv-conver
xfs-reclaim/sd{a, b, c, ...}
xfs-blockgc/sd{a, b, c, ...}
xfs-inodegc/sd{a, b, c, ...}
audit_send_repl
ecryptfs-kthrea
vfio-irqfd-clea
jbd2/nvme0n1p2-
...
Besides the in-tree kthreads listed above, the out-of-tree kthreads may
also be truncated:
rtase_work_queu
nvidia-modeset/
UVM global queu
UVM deferred re
...
We should improve this problem fundamentally.
This patch extends the size of task comm to 24 bytes, which is the
same length with workqueue's, for the CONFIG_BASE_FULL case. And for the
CONFIG_BASE_SMALL case, the size of task comm is still kept as 16 bytes.
Suggested-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Yafang Shao <laoar.shao@gmail.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Petr Mladek <pmladek@suse.com>
---
include/linux/sched.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 39039ce8ac4c..e0796068dee0 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -275,7 +275,11 @@ struct task_group;
#define get_current_state() READ_ONCE(current->__state)
/* Task command name length: */
+#if CONFIG_BASE_SMALL
#define TASK_COMM_LEN 16
+#else
+#define TASK_COMM_LEN 24
+#endif
extern void scheduler_tick(void);
--
2.18.2
next prev parent reply other threads:[~2021-10-07 12:08 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-07 12:07 [PATCH v2 0/4] task_struct: extend task comm from 16 to 24 for CONFIG_BASE_FULL Yafang Shao
2021-10-07 12:07 ` [PATCH v2 1/4] cn_proc.h: use TASK_COMM_LEN instread of 16 in struct proc_event Yafang Shao
2021-10-07 14:51 ` Kees Cook
2021-10-07 15:09 ` Kees Cook
2021-10-07 15:45 ` Yafang Shao
2021-10-07 12:07 ` [PATCH v2 2/4] fs/exec: use strscpy instead of strlcpy in __set_task_comm Yafang Shao
2021-10-07 14:52 ` Kees Cook
2021-10-07 12:07 ` Yafang Shao [this message]
2021-10-07 12:54 ` [PATCH v2 3/4] sched.h: extend task comm from 16 to 24 for CONFIG_BASE_FULL Peter Zijlstra
2021-10-07 13:02 ` Yafang Shao
2021-10-07 14:56 ` Kees Cook
2021-10-07 15:47 ` Yafang Shao
2021-10-07 12:07 ` [PATCH v2 4/4] kernel/kthread: show a warning if kthread's comm is truncated Yafang Shao
2021-10-07 15:01 ` Kees Cook
2021-10-07 17:41 ` Steven Rostedt
2021-10-08 12:14 ` Yafang Shao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211007120752.5195-4-laoar.shao@gmail.com \
--to=laoar.shao@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=bristot@redhat.com \
--cc=bsegall@google.com \
--cc=christian@brauner.io \
--cc=dietmar.eggemann@arm.com \
--cc=juri.lelli@redhat.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=pmladek@suse.com \
--cc=qiang.zhang@windriver.com \
--cc=robdclark@chromium.org \
--cc=rostedt@goodmis.org \
--cc=valentin.schneider@arm.com \
--cc=vincent.guittot@linaro.org \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox