From nobody Tue Feb 10 18:36:06 2026 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 37E26450F2 for ; Mon, 9 Feb 2026 07:20:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770621613; cv=none; b=sJAl4JzhWtubLcr5URZISi8K5w1MYnBeFKshQ0vZAlPNTJn1+/b/HDuXzYpmyLvspIFoSdtagJiTAJ9JZmlAzQhW9j6U5atdWk13FIu6lm6fJs0EK398u4y82i+rqOFkbkjRt4irqtCao9pubqUSppOQmCPA3TVN0D+SG42mqn0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770621613; c=relaxed/simple; bh=MEAVASPVwF9tM/GX53hf7h/WsTf+5Q0TBYiXRJ2gCyg=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=V3tvhC8cnezFird20NZHXT2jegbE88e2AhrtXGpKcyunoBwGZvqw/UjCNTFFVOV2ZqR4eQp0ddkqh007m9IEs3jcWgjcWOxMtJvLX9NFgUqpHnuVJ3wPh9TwuY3TJ3LDt662QXKUKDY7XNuzxdyDRtnRIiUkPBoeZ/V7zVU0CVI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dUMbR7z8; arc=none smtp.client-ip=209.85.214.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dUMbR7z8" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2a7b23dd036so12205365ad.3 for ; Sun, 08 Feb 2026 23:20:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770621612; x=1771226412; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=UeVAwVWwwDK3JOVVjER3ZN9u1U/i6j13w87F+ZL3MDA=; b=dUMbR7z8uvzbGG3qYQ7sp11tatPBH3lUZeix9mAkyKQZW1iBkY79i5YYoATWHgIDeK 1bpjJK+779lnQet/5Y+jwR28kW8ENOjEXsubHE7vjjMNcSrJLRqszdSLp0KxvAqAR182 nbsJh3uydBawUbpqNr6Glj02feLysLHqaYciNpSJ53zoXcsU1/6IeTgmvCBtYZTpIs4e HnABnJ/pR4nlgp0tkXqqXpo22LPSaYTDgluPr7qTltJ+IbRsVw2UOu32djkRuPstvsyx 8hK3yo9K9FX8bil+m6bk2ZtwwcVJj6deHLxinvuqo7hhpzbyi5o1bWfjCy7qR0gQGJ7C wDog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770621612; x=1771226412; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=UeVAwVWwwDK3JOVVjER3ZN9u1U/i6j13w87F+ZL3MDA=; b=u19SHnCmiKtDsdTsrvBIFS3i+/w/mh/DC1i0u21MHIQle8EDxu/HS50RcxEIiH120X tO6Z/K/tDmzF+kaF7z9OLIz4Nr1Jm2bXwSztpjNvYucCinMqN3YdJrdJfjoDV+SHIQsQ BHFh+DA4DPSOG8slzR67b5HxdKunRngyomFe2/9BCUYYE8J5As4NRiUOWcot1usauNxN XU4EXso2Zy0ZRKzxyw36e5/on/Ux5qpBu+KXe+VsX1Q+X0f/Vk+C+1reJ+/uDZf2Aub4 bIXdeHFiT7zyEcs1KBVxRb/rpVOj6s8GGO29+a6OvFqnxOuQu+/58Zel6IMZ0Kz26wT7 x1bg== X-Forwarded-Encrypted: i=1; AJvYcCWhGxTQDHd5ckva9wpApSyLQIYUr/rnv6rtqhxbRBlBaayiZimQn0ESATbAJmQeu0gATUYfC9IEhKGloXY=@vger.kernel.org X-Gm-Message-State: AOJu0YxfABN217pPZaLjyjeChSDDBIN3GBVNPvsBb9wD/OafWLLIzjsM ufTFY/aDl/aWuj/tnnsgQq1geyDygCvtRTLG7KpSyORCNIwzErZ5Jdi5UfffLQ== X-Gm-Gg: AZuq6aJSywqB8gxLbEAsD1YLWmbJjaPRtHUmzzv+7PWh15Tqb/sxIiJYVYq8fEwccVS gnMZpBSzk4jgKTNrVcPBEQSDj8GP2fX2D+DyOrQfbrLIod/V2bhMmmWePN51//wTon8ozXtBZPL bu3MMcr+YhYnJV1G5IhSkx2Mkp+FsivEOMRD+jI84PmIm+GTyRgrlB6MupnPgdwVIaVIEAttIrb S5oOJLTSjRJR6JYRKPMm2V9NFBJW75/BmYUpj/FH4MvAQ9riaqy4d67jYG6i9yPw95HSGoMCUBA 3hM/AO8cEM3QrLKBezdJSMj7iCeEVq2OhmnIxa4aU0pDA+wXligZP7LVi+XNxQY8+DWBfJ8DQ8C +g1IOuJS3C7I2LnyI7ga5DNrVJ6wYmAR1QVgNoNSABRdpw9c4WnG8zzxKdfjXfZWNjS2BQQUhrs +Wnq52cYzhLRRD2KFBYFbZDYiCQF7DqGo8JnGmKA== X-Received: by 2002:a17:902:f546:b0:2a5:99ec:16d7 with SMTP id d9443c01a7336-2a951608914mr105628835ad.7.1770621612446; Sun, 08 Feb 2026 23:20:12 -0800 (PST) Received: from pengdl-pc.mioffice.cn ([43.224.245.249]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a9521b9bd1sm108448785ad.66.2026.02.08.23.20.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Feb 2026 23:20:11 -0800 (PST) From: Donglin Peng To: rostedt@goodmis.org Cc: mhiramat@kernel.org, linux-trace-kernel@vger.kernel.org, linux-kernel@vger.kernel.org, Donglin Peng Subject: [PATCH] tracing: Pretty-print enum parameters in function arguments Date: Mon, 9 Feb 2026 15:19:49 +0800 Message-Id: <20260209071949.4040193-1-dolinux.peng@gmail.com> X-Mailer: git-send-email 2.34.1 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 Content-Type: text/plain; charset="utf-8" From: Donglin Peng Currently, print_function_args() prints enum parameter values in decimal format, reducing trace log readability. Use BTF information to resolve enum parameters and print their symbolic names (where available). This improves readability by showing meaningful identifiers instead of raw numbers. Before: mod_memcg_lruvec_state(lruvec=3D0xffff..., idx=3D5, val=3D320) After: mod_memcg_lruvec_state(lruvec=3D0xffff..., idx=3D5 [NR_SLAB_RECLAIMABLE_B= ], val=3D320) Cc: Steven Rostedt Cc: Masami Hiramatsu Signed-off-by: Donglin Peng --- v2: - Iterate btf_enum members directly with a for loop, replacing the for_each_enum macro helper. --- kernel/trace/trace_output.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c index cc2d3306bb60..548e3cd06b04 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c @@ -695,12 +695,13 @@ void print_function_args(struct trace_seq *s, unsigne= d long *args, { const struct btf_param *param; const struct btf_type *t; + const struct btf_enum *enums; const char *param_name; char name[KSYM_NAME_LEN]; unsigned long arg; struct btf *btf; s32 tid, nr =3D 0; - int a, p, x; + int a, p, x, i; u16 encode; =20 trace_seq_printf(s, "("); @@ -754,6 +755,15 @@ void print_function_args(struct trace_seq *s, unsigned= long *args, break; case BTF_KIND_ENUM: trace_seq_printf(s, "%ld", arg); + enums =3D btf_enum(t); + for (i =3D 0; i < btf_vlen(t); i++) { + if (arg =3D=3D enums[i].val) { + trace_seq_printf(s, " [%s]", + btf_name_by_offset(btf, + enums[i].name_off)); + break; + } + } break; default: /* This does not handle complex arguments */ --=20 2.34.1