All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] libtracefs: Minor formating updates to options code
@ 2021-02-02 19:54 Steven Rostedt
  2021-02-02 19:54 ` [PATCH 1/2] tracefs: Use new BUILD_BUG_ON() and ARRAY_SIZE() macros for options_map intergity Steven Rostedt
  2021-02-02 19:55 ` [PATCH 2/2] libtracefs: Have the options_map elements be each on their own line Steven Rostedt
  0 siblings, 2 replies; 3+ messages in thread
From: Steven Rostedt @ 2021-02-02 19:54 UTC (permalink / raw)
  To: linux-trace-devel

This is based on top of the options patches:

  https://patchwork.kernel.org/project/linux-trace-devel/list/?series=418299

This adds a BUILD_BUG_ON() and ARRAY_SIZE helper macros and
structures the options_map slightly different.

No functional changes.

Steven Rostedt (VMware) (2):
      tracefs: Use new BUILD_BUG_ON() and ARRAY_SIZE() macros for options_map intergity
      libtracefs: Have the options_map elements be each on their own line

----
 include/tracefs-local.h |  6 ++++++
 src/tracefs-tools.c     | 56 ++++++++++++++++++++++++++++++++++++++++---------
 2 files changed, 52 insertions(+), 10 deletions(-)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/2] tracefs: Use new BUILD_BUG_ON() and ARRAY_SIZE() macros for options_map intergity
  2021-02-02 19:54 [PATCH 0/2] libtracefs: Minor formating updates to options code Steven Rostedt
@ 2021-02-02 19:54 ` Steven Rostedt
  2021-02-02 19:55 ` [PATCH 2/2] libtracefs: Have the options_map elements be each on their own line Steven Rostedt
  1 sibling, 0 replies; 3+ messages in thread
From: Steven Rostedt @ 2021-02-02 19:54 UTC (permalink / raw)
  To: linux-trace-devel

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

Instead of having the options_map use TRACEFS_OPTIONS_MAX as its index, have
the array extend by the elements, and use the new macros BUILD_BUG_ON() and
ARRAY_SIZE() to make sure that the array always is the same size as the
TRACEFS_OPTIONS_MAX.

No functional changes.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 include/tracefs-local.h | 6 ++++++
 src/tracefs-tools.c     | 5 ++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/include/tracefs-local.h b/include/tracefs-local.h
index 3a7ec32a8853..187870e7c491 100644
--- a/include/tracefs-local.h
+++ b/include/tracefs-local.h
@@ -8,6 +8,12 @@
 
 #define __hidden __attribute__((visibility ("hidden")))
 
+#define ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0]))
+
+/* Will cause a division by zero warning if cond is true */
+#define BUILD_BUG_ON(cond)			\
+	do { if (!(1/!(cond))) { } } while (0)
+
 /* Can be overridden */
 void warning(const char *fmt, ...);
 
diff --git a/src/tracefs-tools.c b/src/tracefs-tools.c
index 6e7fce53cef1..7f69cde93115 100644
--- a/src/tracefs-tools.c
+++ b/src/tracefs-tools.c
@@ -19,7 +19,7 @@
 
 #define TRACE_CTRL	"tracing_on"
 
-static const char * const options_map[TRACEFS_OPTION_MAX] = {
+static const char * const options_map[] = {
 	"unknown", "annotate", "bin", "blk_cgname", "blk_cgroup", "blk_classic",
 	"block", "context-info", "disable_on_free", "display-graph", "event-fork",
 	"funcgraph-abstime", "funcgraph-cpu", "funcgraph-duration", "funcgraph-irqs",
@@ -132,6 +132,9 @@ int tracefs_trace_off_fd(int fd)
  */
 const char *tracefs_option_name(enum tracefs_option_id id)
 {
+	/* Make sure options map contains all the options */
+	BUILD_BUG_ON(ARRAY_SIZE(options_map) != TRACEFS_OPTION_MAX);
+
 	if (id < TRACEFS_OPTION_MAX)
 		return options_map[id];
 
-- 
2.29.2



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] libtracefs: Have the options_map elements be each on their own line
  2021-02-02 19:54 [PATCH 0/2] libtracefs: Minor formating updates to options code Steven Rostedt
  2021-02-02 19:54 ` [PATCH 1/2] tracefs: Use new BUILD_BUG_ON() and ARRAY_SIZE() macros for options_map intergity Steven Rostedt
@ 2021-02-02 19:55 ` Steven Rostedt
  1 sibling, 0 replies; 3+ messages in thread
From: Steven Rostedt @ 2021-02-02 19:55 UTC (permalink / raw)
  To: linux-trace-devel

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

In order to verify the order of the option names in the options_map array,
have each name on its own line. This is much easier to see the mapping when
compared to the enums in tracefs_options_id that represent them.

No function changes.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 src/tracefs-tools.c | 51 +++++++++++++++++++++++++++++++++++++--------
 1 file changed, 42 insertions(+), 9 deletions(-)

diff --git a/src/tracefs-tools.c b/src/tracefs-tools.c
index 7f69cde93115..e2dfc7b8acff 100644
--- a/src/tracefs-tools.c
+++ b/src/tracefs-tools.c
@@ -20,15 +20,48 @@
 #define TRACE_CTRL	"tracing_on"
 
 static const char * const options_map[] = {
-	"unknown", "annotate", "bin", "blk_cgname", "blk_cgroup", "blk_classic",
-	"block", "context-info", "disable_on_free", "display-graph", "event-fork",
-	"funcgraph-abstime", "funcgraph-cpu", "funcgraph-duration", "funcgraph-irqs",
-	"funcgraph-overhead", "funcgraph-overrun", "funcgraph-proc", "funcgraph-tail",
-	"func_stack_trace", "function-fork", "function-trace", "graph-time", "hex",
-	"irq-info", "latency-format", "markers", "overwrite", "pause-on-trace",
-	"printk-msg-only", "print-parent", "raw", "record-cmd", "record-tgid",
-	"sleep-time", "stacktrace", "sym-addr", "sym-offset", "sym-userobj",
-	"trace_printk", "userstacktrace", "verbose" };
+	"unknown",
+	"annotate",
+	"bin",
+	"blk_cgname",
+	"blk_cgroup",
+	"blk_classic",
+	"block",
+	"context-info",
+	"disable_on_free",
+	"display-graph",
+	"event-fork",
+	"funcgraph-abstime",
+	"funcgraph-cpu",
+	"funcgraph-duration",
+	"funcgraph-irqs",
+	"funcgraph-overhead",
+	"funcgraph-overrun",
+	"funcgraph-proc",
+	"funcgraph-tail",
+	"func_stack_trace",
+	"function-fork",
+	"function-trace",
+	"graph-time",
+	"hex",
+	"irq-info",
+	"latency-format",
+	"markers",
+	"overwrite",
+	"pause-on-trace",
+	"printk-msg-only",
+	"print-parent",
+	"raw",
+	"record-cmd",
+	"record-tgid",
+	"sleep-time",
+	"stacktrace",
+	"sym-addr",
+	"sym-offset",
+	"sym-userobj",
+	"trace_printk",
+	"userstacktrace",
+	"verbose" };
 
 static int trace_on_off(int fd, bool on)
 {
-- 
2.29.2



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-02-02 20:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-02 19:54 [PATCH 0/2] libtracefs: Minor formating updates to options code Steven Rostedt
2021-02-02 19:54 ` [PATCH 1/2] tracefs: Use new BUILD_BUG_ON() and ARRAY_SIZE() macros for options_map intergity Steven Rostedt
2021-02-02 19:55 ` [PATCH 2/2] libtracefs: Have the options_map elements be each on their own line Steven Rostedt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.