Linux-Trace-Devel Archive on lore.kernel.org
 help / color / 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	[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	[flat|nested] 3+ messages in thread

end of thread, back to index

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

Linux-Trace-Devel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-trace-devel/0 linux-trace-devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-trace-devel linux-trace-devel/ https://lore.kernel.org/linux-trace-devel \
		linux-trace-devel@vger.kernel.org
	public-inbox-index linux-trace-devel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-trace-devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git