[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210114095232.7ba3f9a8@gandalf.local.home>
Date: Thu, 14 Jan 2021 09:52:32 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Alexander Potapenko <glider@...gle.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
LKML <linux-kernel@...r.kernel.org>,
Marco Elver <elver@...gle.com>,
Andrey Konovalov <andreyknvl@...il.com>,
Dmitry Vyukov <dvyukov@...gle.com>,
Ingo Molnar <mingo@...hat.com>, Petr Mladek <pmladek@...e.com>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Linux Memory Management List <linux-mm@...ck.org>
Subject: Re: [PATCH 1/4] tracing: add error_report trace points
On Thu, 14 Jan 2021 08:49:57 +0100
Alexander Potapenko <glider@...gle.com> wrote:
> We'll need to explicitly list the enum values once again in
> __print_symbolic(), right? E.g.:
>
> enum debugging_tool {
> TOOL_KFENCE,
> TOOL_KASAN,
> ...
> }
>
> TP_printk(__print_symbolic(__entry->error_detector, TOOL_KFENCE,
> TOOL_KASAN, ...),
Usually what is done is to make this into a macro:
#define REPORT_TOOL_LIST \
EM(KFENCE, kfence) \
EMe(KASAN, kasan)
#undef EM
#undef EMe
#define EM(a,b) TRACE_DEFINE_ENUM(a)
#define EMe(a,b) TRACE_DEFINE_ENUM(a)
REPORT_TOOL_LIST
#undef EM
#undef EMe
#define EM(a, b) { a, b },
#define EMe(a, b) { a, b }
#define show_report_tool_list(val) \
__print_symbolic(val, REPORT_TOOL_LIST)
[..]
TP_printk("[%s] %lx", show_report_tool_list(__entry->error_detector),
__entry->id)
This is done in several other trace event files. For example, see
include/trace/events/sock.h
-- Steve
Powered by blists - more mailing lists