Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools/bootconfig: Use per-group/all enable option in ftrace2bconf script

Use per-group/all enable option instead of ftrace.events option.
This will make the bootconfig file more readable.

Link: https://lkml.kernel.org/r/162856129436.203126.12462564671412940618.stgit@devnote2

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>

authored by

Masami Hiramatsu and committed by
Steven Rostedt (VMware)
1eaad3ac f134ebb2

+18 -6
+18 -6
tools/bootconfig/scripts/ftrace2bconf.sh
··· 92 92 grep "^hist" $1/trigger | grep -o '$[a-zA-Z0-9]*' 93 93 } 94 94 95 + event_is_enabled() { # enable-file 96 + test -f $1 & grep -q "1" $1 97 + } 98 + 95 99 per_event_options() { # event-dir 96 100 evdir=$1 97 101 # Check the special event which has no filter and no trigger ··· 117 113 emit_kv $PREFIX.event.$group.$event.actions += \'$action\' 118 114 done 119 115 120 - # enable is not checked; this is done by set_event in the instance. 116 + if [ $GROUP_ENABLED -eq 0 ] && event_is_enabled $evdir/enable; then 117 + emit_kv $PREFIX.event.$group.$event.enable 118 + fi 121 119 val=`cat $evdir/filter` 122 120 if [ "$val" != "none" ]; then 123 121 emit_kv $PREFIX.event.$group.$event.filter = "$val" ··· 143 137 kprobe_event_options 144 138 synth_event_options 145 139 fi 140 + ALL_ENABLED=0 141 + if event_is_enabled $INSTANCE/events/enable; then 142 + emit_kv $PREFIX.event.enable 143 + ALL_ENABLED=1 144 + fi 146 145 for group in `ls $INSTANCE/events/` ; do 147 146 [ ! -d $INSTANCE/events/$group ] && continue 147 + GROUP_ENABLED=$ALL_ENABLED 148 + if [ $ALL_ENABLED -eq 0 ] && \ 149 + event_is_enabled $INSTANCE/events/$group/enable ;then 150 + emit_kv $PREFIX.event.$group.enable 151 + GROUP_ENABLED=1 152 + fi 148 153 for event in `ls $INSTANCE/events/$group/` ;do 149 154 [ ! -d $INSTANCE/events/$group/$event ] && continue 150 155 per_event_options $INSTANCE/events/$group/$event ··· 243 226 emit_kv $PREFIX.tracing_on = $val 244 227 fi 245 228 246 - val= 247 - for i in `cat $INSTANCE/set_event`; do 248 - val="$val, $i" 249 - done 250 - [ "$val" ] && emit_kv $PREFIX.events = "${val#,}" 251 229 val=`cat $INSTANCE/current_tracer` 252 230 [ $val != nop ] && emit_kv $PREFIX.tracer = $val 253 231 if grep -qv "^#" $INSTANCE/set_ftrace_filter $INSTANCE/set_ftrace_notrace; then