perf tools: Return all events as auto-completions after comma
It's a follow up for one previous patch "perf tool: Improve bash command line auto-complete for multiple events with comma." It fixes an issue that no events are displayed when <TAB> is directly typed after comma. With this patch, now the result is: root@skl:/tmp# perf stat -e cpu-cycles,<TAB> Display all 2389 possibilities? (y or n) alarmtimer:alarmtimer_cancel alarmtimer:alarmtimer_fired alarmtimer:alarmtimer_start alarmtimer:alarmtimer_suspend alignment-faults arith.divider_active BAClear_Cost baclears.any block:block_bio_backmerge block:block_bio_bounce block:block_bio_complete block:block_bio_frontmerge block:block_bio_queue block:block_bio_remap block:block_dirty_buffer block:block_getrq block:block_plug block:block_rq_complete block:block_rq_insert block:block_rq_issue block:block_rq_remap block:block_rq_requeue block:block_sleeprq --More-- One remaining issue is that the auto-completions doesn't work well for the event with ':'. For example, clk:clk_enable. Because ':' is set as WORDBREAK by default in bash. Need more work for this case. Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Jin Yao <yao.jin@linux.intel.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/1513940255-16528-1-git-send-email-yao.jin@linux.intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
74cd5815d9
commit
34c16db0f0
1 changed files with 7 additions and 3 deletions
|
@ -183,12 +183,16 @@ __perf_main ()
|
|||
fi
|
||||
done
|
||||
|
||||
evts=${result}+$(ls /sys/bus/event_source/devices/cpu/events)
|
||||
evts=${result}" "$(ls /sys/bus/event_source/devices/cpu/events)
|
||||
else
|
||||
evts=${raw_evts}+$(ls /sys/bus/event_source/devices/cpu/events)
|
||||
evts=${raw_evts}" "$(ls /sys/bus/event_source/devices/cpu/events)
|
||||
fi
|
||||
|
||||
__perfcomp_colon "$evts" "$cur1"
|
||||
if [[ "$cur1" == , ]]; then
|
||||
__perfcomp_colon "$evts" ""
|
||||
else
|
||||
__perfcomp_colon "$evts" "$cur1"
|
||||
fi
|
||||
else
|
||||
# List subcommands for perf commands
|
||||
if [[ $prev_skip_opts == @(kvm|kmem|mem|lock|sched|
|
||||
|
|
Loading…
Reference in a new issue