tracing: Add enum_map file to show enums that have been mapped
[cascardo/linux.git] / kernel / trace / Kconfig
index a5da09c..fedbdd7 100644 (file)
@@ -599,6 +599,34 @@ config RING_BUFFER_STARTUP_TEST
 
         If unsure, say N
 
+config TRACE_ENUM_MAP_FILE
+       bool "Show enum mappings for trace events"
+       depends on TRACING
+       help
+        The "print fmt" of the trace events will show the enum names instead
+       of their values. This can cause problems for user space tools that
+       use this string to parse the raw data as user space does not know
+       how to convert the string to its value.
+
+       To fix this, there's a special macro in the kernel that can be used
+       to convert the enum into its value. If this macro is used, then the
+       print fmt strings will have the enums converted to their values.
+
+       If something does not get converted properly, this option can be
+       used to show what enums the kernel tried to convert.
+
+       This option is for debugging the enum conversions. A file is created
+       in the tracing directory called "enum_map" that will show the enum
+       names matched with their values and what trace event system they
+       belong too.
+
+       Normally, the mapping of the strings to values will be freed after
+       boot up or module load. With this option, they will not be freed, as
+       they are needed for the "enum_map" file. Enabling this option will
+       increase the memory footprint of the running kernel.
+
+       If unsure, say N
+
 endif # FTRACE
 
 endif # TRACING_SUPPORT