Commit 1eaad3ac authored by Masami Hiramatsu's avatar Masami Hiramatsu Committed by Steven Rostedt (VMware)
Browse files

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: default avatarMasami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent f134ebb2
Loading
Loading
Loading
Loading
+18 −6
Original line number Diff line number Diff line
@@ -92,6 +92,10 @@ referred_vars() {
	grep "^hist" $1/trigger | grep -o '$[a-zA-Z0-9]*'
}

event_is_enabled() { # enable-file
	test -f $1 & grep -q "1" $1
}

per_event_options() { # event-dir
	evdir=$1
	# Check the special event which has no filter and no trigger
@@ -113,7 +117,9 @@ per_event_options() { # event-dir
		emit_kv $PREFIX.event.$group.$event.actions += \'$action\'
	done

	# enable is not checked; this is done by set_event in the instance.
	if [ $GROUP_ENABLED -eq 0 ] && event_is_enabled $evdir/enable; then
		emit_kv $PREFIX.event.$group.$event.enable
	fi
	val=`cat $evdir/filter`
	if [ "$val" != "none" ]; then
		emit_kv $PREFIX.event.$group.$event.filter = "$val"
@@ -137,8 +143,19 @@ event_options() {
		kprobe_event_options
		synth_event_options
	fi
	ALL_ENABLED=0
	if event_is_enabled $INSTANCE/events/enable; then
		emit_kv $PREFIX.event.enable
		ALL_ENABLED=1
	fi
	for group in `ls $INSTANCE/events/` ; do
		[ ! -d $INSTANCE/events/$group ] && continue
		GROUP_ENABLED=$ALL_ENABLED
		if [ $ALL_ENABLED -eq 0 ] && \
		   event_is_enabled $INSTANCE/events/$group/enable ;then
			emit_kv $PREFIX.event.$group.enable
			GROUP_ENABLED=1
		fi
		for event in `ls $INSTANCE/events/$group/` ;do
			[ ! -d $INSTANCE/events/$group/$event ] && continue
			per_event_options $INSTANCE/events/$group/$event
@@ -226,11 +243,6 @@ instance_options() { # [instance-name]
		emit_kv $PREFIX.tracing_on = $val
	fi

	val=
	for i in `cat $INSTANCE/set_event`; do
		val="$val, $i"
	done
	[ "$val" ] && emit_kv $PREFIX.events = "${val#,}"
	val=`cat $INSTANCE/current_tracer`
	[ $val != nop ] && emit_kv $PREFIX.tracer = $val
	if grep -qv "^#" $INSTANCE/set_ftrace_filter $INSTANCE/set_ftrace_notrace; then