From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7419C36010 for ; Mon, 31 Mar 2025 15:58:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 706B4280005; Mon, 31 Mar 2025 11:58:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 66569280001; Mon, 31 Mar 2025 11:58:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 52C96280005; Mon, 31 Mar 2025 11:58:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 389E2280001 for ; Mon, 31 Mar 2025 11:58:49 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id B3025AA3BB for ; Mon, 31 Mar 2025 12:18:50 +0000 (UTC) X-FDA: 83281750020.16.1E588D6 Received: from fanzine2.igalia.com (fanzine.igalia.com [178.60.130.6]) by imf10.hostedemail.com (Postfix) with ESMTP id 8DDBBC0013 for ; Mon, 31 Mar 2025 12:18:48 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=igalia.com header.s=20170329 header.b=GGdN2Nda; dmarc=pass (policy=none) header.from=igalia.com; spf=pass (imf10.hostedemail.com: domain of bhupesh@igalia.com designates 178.60.130.6 as permitted sender) smtp.mailfrom=bhupesh@igalia.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743423529; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=aYtcRKckV4dYri6hjuncAWA3kwTSWA5xveNInpzPVYo=; b=SAecR57krnEGYpSfi/JnwFlKXBgjeNv9X1rsIp0xHPAZ8NqLKcRbOo70uIcaj2cw+hYvVI 2DrPAGAqOubpu+E2kPUz3V8nJpncwO5MvdA6acG3XznNd/OmFRL8KuRPWl/0JuAaFWBx4Q xG2ihtsiDl01Vj2BNDUR4VlvuTB35V0= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=igalia.com header.s=20170329 header.b=GGdN2Nda; dmarc=pass (policy=none) header.from=igalia.com; spf=pass (imf10.hostedemail.com: domain of bhupesh@igalia.com designates 178.60.130.6 as permitted sender) smtp.mailfrom=bhupesh@igalia.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743423529; a=rsa-sha256; cv=none; b=D42x450RmvtmxtHC3m1GVO8IaZQaf8BN48iBHQBsCU+hdu6MMzaEDqJmSIyiuOX/9kmf8w NF7/WqZeyvTxKpwYXXFQQlerxHHoFFX/DbKnrwsf476r9buigigRHWUWNfjdgy3w21alxq oge4j7iKnvtn37dCqob/XwKer5HzlZQ= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject: Cc:To:From:Sender:Reply-To:Content-Type:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=aYtcRKckV4dYri6hjuncAWA3kwTSWA5xveNInpzPVYo=; b=GGdN2NdaYkI1rFjSVVrEb7O7gx +8uhPYYFVsNEEXfcfaIN+czBiAme2Zn/Rdk1FIATN4r8SHccGKTG5/0nHdcBToT0V1l+oFdPOgxUv I5VPIPRviLgzcEXae7kJk3AKoUsMXT0axXAHfTZkwru1VeG9ZLOwMj6SbRJyxfp8XBARwjVil6PZw qEdQIk9F8wVM3G0L31F4+WBvnzP5rZfmNNElRfos62OULNvf3rI/Baqr9n5K7VE3/TqSb0CWaRYEZ RqjTXR0+CdULxZpFPuBpBcHIgQLYCliGRKjkVXvtriS+bnQdaXo5fE56AneavjgJspMaDmaQ4+X5Y okpQr0eg==; Received: from [223.233.69.2] (helo=localhost.localdomain) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1tzE69-009Btr-Ma; Mon, 31 Mar 2025 14:18:38 +0200 From: Bhupesh To: akpm@linux-foundation.org Cc: bhupesh@igalia.com, kernel-dev@igalia.com, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, oliver.sang@intel.com, lkp@intel.com, laoar.shao@gmail.com, pmladek@suse.com, rostedt@goodmis.org, mathieu.desnoyers@efficios.com, arnaldo.melo@gmail.com, alexei.starovoitov@gmail.com, andrii.nakryiko@gmail.com, mirq-linux@rere.qmqm.pl, peterz@infradead.org, willy@infradead.org, david@redhat.com, viro@zeniv.linux.org.uk, keescook@chromium.org, ebiederm@xmission.com, brauner@kernel.org, jack@suse.cz, mingo@redhat.com, juri.lelli@redhat.com, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com Subject: [PATCH v2 0/3] Dynamically allocate memory to store task's full name Date: Mon, 31 Mar 2025 17:48:17 +0530 Message-Id: <20250331121820.455916-1-bhupesh@igalia.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 8DDBBC0013 X-Stat-Signature: triz3id7f6xsiogjofq6xixj98np4n86 X-Rspam-User: X-HE-Tag: 1743423528-359339 X-HE-Meta: U2FsdGVkX1+FsTg8GCkoAIgqAqHewfMM/6nFuWpqgJsvqxmSgJBd5Vp0kpc88Sy5QlCzG8zI24/9juntHysmUyKNcSKp5bqp3CRR7zb6dqDBEMJ5Elfuhwr2461XbEcr00diUFHh95KC/eVcXNuFOh+Yyo5DXslgy3GnFpl6XMpdilJHQip97MB1CcGkUy0EEtxfHEH+eQ1bBPErlXZGSLd+IB5OFN1pfs4Rxm1eQfKkfwOs7LGm4CbtnvfNJWUmEuWB1A7/ZqlDnD/DeBFks8kwBauMtAakKgqW/mcErPA64d3lSEl/krdGwF4ScMSG5eupW/W7emPBpI/mlyBQw2e94T9f+r527Nm1TDRwR244YNliobuXRh3QbGdC3n2RAh1qe5a3R/6RhcivBr943axfH5hGITNWxmlvO/FXWI5CqDI160qCwS6n3/RQ+NwbJmA4Pcp3SbSgKlw45CbbsYJzndpThNZjcyUiIQwKJ5AFK4Tu/cdSMBeq0PaEePiyAdAG3vAHpCv8NAQblnEndbyR5aBILIFgzaOTiUznBVq/eeUaoRzRg8r+c0DNJCDLeP1EWKI52VtCUgiIQIbLhrCOhlKum/V6Mjg9NK7hxIW9jzsHKbDUIfF0TUKL5LPTKLr63JpG5wHhuO6CSqeNkiy528Pzvn7IayC5LaIUdskHFKVkjGOp4vurJiyJ8Lg4EEtwf9miS7mc7+R/Q++UFMfpXTn6hxDowVSpA2vIq9gaFOrrTlNO3GtTPuzq9+OkB505Luuyk52nKP+jf4gYRi5/n/VpepFfmbl6MylseZU1sOdvesn9drAA4xcJ6ymQvZNei5BBU531MKEYSBCyzYMpGDGIG8JevR0A51ZCOOytZ6PeOdn61LzwC2m2KPwxxuSU4XZr6Onp+EYzFDv6CXO2iC1GcVLRV1lr4ZWjdU5kh4ag272r3znHsKKRgJp8xuyfkYuCseQ9sEZVVeW 3hzB+P/M TlZmwpLmqRuO7uvf3FL8/nUw0BHkLHr9ls26XGSzF9CLAm7OepTYlH5JwAZItS6R9Wd/cxLASMeoizvha0EUkz1ocoslhKOe8PQASTsK5OGL32QfW62xHObvhQrbqKDV1GSfVzWLJ+OhE4nfB3CK4SV/IH4/NpvwIOiBHgJup6I49lDZj0hzJgS3COgzv+B49HIQ1DywdLhQzGHFXRqcA1MuL+tj4lQciMYqkV22gwXGxODrT3uB57o6HDyK3x2wIOke4gA2jwoiAWu8l2bxr1dxJQda1GAL4552CqnY2IDhwjurAUwb74TCzsRRe3ynLTyMocexkeu7ueJ/9zg8CXVy3JtbzT8B1geFectFjw01Nbt4Vm1rR8YU1w9Xo87KO4JzwulX1UnXAQjI= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Changes since v1: ================ - v1 can be seen here: https://lore.kernel.org/lkml/20250314052715.610377-1-bhupesh@igalia.com/ - As suggested by Kees, added [PATCH 3/3] to have a consistent 'full_name' entry inside 'task_struct' which both tasks and kthreads can use. - Fixed the commit message to indicate that the existing ABI '/proc/$pid/task/$tid/comm' remains untouched and a parallel '/proc/$pid/task/$tid/full_name' ABI for new (interested) users. While working with user-space debugging tools which work especially on linux gaming platforms, I found that the task name is truncated due to the limitation of TASK_COMM_LEN. Now, during debug tracing, seeing truncated names is not very useful, especially on gaming platforms where the number of tasks running can be very high. This patch does not touch 'TASK_COMM_LEN' at all, i.e. 'TASK_COMM_LEN' and the 16-byte design remains untouched. Which means that all the legacy / existing ABI, continue to work as before using '/proc/$pid/task/$tid/comm'. This patch only adds a parallel, dynamically-allocated 'task->full_name' which can be used by interested users via '/proc/$pid/task/$tid/full_name'. After this change, gdb is able to show full name of the task, using a simple app which generates threads with long names [see 1]: # gdb ./threadnames -ex "run info thread" -ex "detach" -ex "quit" > log # cat log NameThatIsTooLongForComm[4662] [1]. https://github.com/lostgoat/tasknames Bhupesh (3): exec: Dynamically allocate memory to store task's full name fs/proc: Pass 'task->full_name' via 'proc_task_name()' kthread: Use 'task_struct->full_name' to store kthread's full name fs/exec.c | 21 ++++++++++++++++++--- fs/proc/array.c | 2 +- include/linux/sched.h | 9 +++++++++ kernel/kthread.c | 9 +++------ 4 files changed, 31 insertions(+), 10 deletions(-) -- 2.38.1