Since torvalds/linux@6b59808bfe48 (workqueue: Show the latest workqueue name in /proc/PID/{comm,stat,status}, 2018-05-18) the limit of 15 character comm names hasn't applied to "kworker" processes. This can be seen e.g. on my Linux v5.10 box: $ awk '{print $2}' /proc/*/stat 2>/dev/null | grep kworker | sort -R | head -n 5 (kworker/3:1-mm_percpu_wq) (kworker/0:0H-events_highpri) (kworker/1:1H-kblockd) (kworker/u16:1-events_unbound) (kworker/u17:0) Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- man5/proc.5 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/man5/proc.5 b/man5/proc.5 index 115c8592e..b23dd1479 100644 --- a/man5/proc.5 +++ b/man5/proc.5 @@ -2092,9 +2092,13 @@ The filename of the executable, in parentheses. Tools such as may alternatively (or additionally) use .IR /proc/ pid /cmdline. .IP -Strings longer than +For userspace, strings longer than .B TASK_COMM_LEN (16) characters (including the terminating null byte) are silently truncated. +Since Linux version 4.18.0 a longer limit of 64 (including the +terminating null byte) has applied to the kernel's own workqueue +workers (whose names start with "kworker/"). +.IP This is visible whether or not the executable is swapped out. .TP (3) \fIstate\fP \ %c -- 2.39.0.1106.gf45ba805d1a