From nobody Thu Apr 2 22:05:13 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 4B5693FCB18 for ; Thu, 26 Mar 2026 14:26:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774535190; cv=none; b=IGE/typzJD2cH9PUbjmxGskeckMfR9ensHgGvSmITlbtE7lg3gLvyzA419J8HAEJNCL5UyhVrgig9Jt2l3ndTx3OqBKPGfUOVTztM/DaRhzJ+08Q9gM1vjUkm2EMfh0Wf/VdHYR6rfDhkVGemwzg09X6ORL5a95Krj9+sLg+Piw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774535190; c=relaxed/simple; bh=MUgVeWs0HVVRJ2A2+99r4QuA6JCEuXiaxwag2K8Berw=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=UO9j5jbJEuQ8+4t8T4HfhbDkjfnwuX0dKOJpGGCXBTYS4ABTTDi8lZYOqJcN5oEXvlZ7IelzIYoSOZKqtqgP2sr/6ZjbDyH1Nre78XtUQK+Sd0M5b038/gN5KQk1wP8ev1PQKsfXHUSV/e8iot1h8jT7LkbEiiD4i4RcftHUDMI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NaKAJVH0; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="NaKAJVH0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 14141C2BCB3; Thu, 26 Mar 2026 14:26:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1774535190; bh=MUgVeWs0HVVRJ2A2+99r4QuA6JCEuXiaxwag2K8Berw=; h=Date:From:To:Cc:Subject:References:From; b=NaKAJVH0ODboKDQN0hEe4nr5Jxcc31ZIkL6X3riG+95IO87S/2pKWLlorjm+4+xyK CnB7SH95hAATdzsvvv8gTbJUGttMqM92QDWJbDp0zGGatpsoi0ry52gfJSHT2UpaUv ZCHh4iOADcPw2Ci0Zo5F9tOGN6H9D8hNgKkqcGtLaZzSho98DW3zVqX93VcRchmUCq dPJrL7UN+B24FNumuNXl2WWbdXoynmj546MYVFAIR59CbUMuEj1SoK76So/I4p3ZeM CEOLThYySiXYKTbI/rqfzFrikMj2oZ19M1n6KBohPd473tZ7KXSGkhCZpNZdVyeTDg I9d2RMyvdd4eA== Received: from rostedt by gandalf with local (Exim 4.99.1) (envelope-from ) id 1w5lg4-0000000DuBx-3rra; Thu, 26 Mar 2026 10:27:16 -0400 Message-ID: <20260326142716.787543618@kernel.org> User-Agent: quilt/0.69 Date: Thu, 26 Mar 2026 10:27:01 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Donglin Peng Subject: [for-next][PATCH 05/13] tracing: Pretty-print enum parameters in function arguments References: <20260326142656.794462952@kernel.org> 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 Link: https://patch.msgid.link/20260209071949.4040193-1-dolinux.peng@gmail.= com Signed-off-by: Donglin Peng Signed-off-by: Steven Rostedt (Google) --- 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 1996d7aba038..be0755400f9b 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c @@ -719,12 +719,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, "("); @@ -778,6 +779,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.51.0