27 Dec, 2017

3 commits

  • It's a follow up patch for a previous patch "perf tool: Return all
    events as auto-completions after comma".

    With this patch, auto-completion can work well for events with a ':'.
    For example:

    root@skl:/tmp# perf stat -e block:block_
    block:block_bio_backmerge block:block_rq_complete
    block:block_bio_bounce block:block_rq_insert
    block:block_bio_complete block:block_rq_issue
    block:block_bio_frontmerge block:block_rq_remap
    block:block_bio_queue block:block_rq_requeue
    block:block_bio_remap block:block_sleeprq
    block:block_dirty_buffer block:block_split
    block:block_getrq block:block_touch_buffer
    block:block_plug block:block_unplug

    root@skl:/tmp# perf stat -e block:block_rq_
    block:block_rq_complete block:block_rq_issue block:block_rq_requeue
    block:block_rq_insert block:block_rq_remap

    root@skl:/tmp# perf stat -e block:block_rq_complete
    block:block_rq_complete

    root@skl:/tmp# perf stat -e block:block_rq_complete

    Signed-off-by: Jin Yao
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Alexander Shishkin
    Cc: Andi Kleen
    Cc: Jiri Olsa
    Cc: Kan Liang
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1513973758-19109-1-git-send-email-yao.jin@linux.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Jin Yao
     
  • 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 is directly
    typed after comma.

    With this patch, now the result is:

    root@skl:/tmp# perf stat -e cpu-cycles,
    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
    Signed-off-by: Jin Yao
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Alexander Shishkin
    Cc: Andi Kleen
    Cc: Jiri Olsa
    Cc: Kan Liang
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1513940255-16528-1-git-send-email-yao.jin@linux.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Jin Yao
     
  • perf has perf-completion.sh to define command line auto-completion in
    bash/zsh.

    For record/stat -e it works for single events, but isn't working when
    specifying multiple events with comma.

    It would be very useful if it could be fixed to make it easier by
    supporting multiple events, comma separated.

    With this patch, the result can be like this:

    1. Support the events returned from 'perf list --raw-dump'

    root@skl:/tmp# perf stat -e cpu/cache
    cpu/cache-misses/ cpu/cache-references/

    root@skl:/tmp# perf stat -e cpu/cache-misses/,cpu/branch-
    cpu/branch-instructions/ cpu/branch-misses/

    root@skl:/tmp# perf stat -e cpu/cache-misses/,cpu/branch-i
    root@skl:/tmp# perf stat -e cpu/cache-misses/,cpu/branch-instructions/

    2. Support the events listed in /sys/bus/event_source/devices/cpu/events

    root@skl:/tmp# perf stat -e cycle
    cycle_activity.cycles_l1d_miss cycle_activity.stalls_l3_miss
    cycle_activity.cycles_l2_miss cycle_activity.stalls_mem_any
    cycle_activity.cycles_l3_miss cycle_activity.stalls_total
    cycle_activity.cycles_mem_any cycles-ct
    cycle_activity.stalls_l1d_miss cycles-t
    cycle_activity.stalls_l2_miss

    root@skl:/tmp# perf stat -e cycles-
    cycles-ct cycles-t

    root@skl:/tmp# perf stat -e cycles-t,cpu/c
    cpu/cache-misses/ cpu/cpu-cycles/ cpu/cycles-t/
    cpu/cache-references/ cpu/cycles-ct/

    root@skl:/tmp# perf stat -e cycles-t,cpu/cache-
    cpu/cache-misses/ cpu/cache-references/

    root@skl:/tmp# perf stat -e cycles-t,cpu/cache-misses/

    3. Support the uppercase event which is with prefix "cpu/"

    root@skl:/tmp# perf stat -e cpu/c
    cpu/cache-misses/ cpu/cpu-cycles/ cpu/cycles-t/
    cpu/cache-references/ cpu/cycles-ct/

    root@skl:/tmp# perf stat -e cpu/cache-misses/,cpu/C
    cpu/CACHE-MISSES/ cpu/CPU-CYCLES/ cpu/CYCLES-T/
    cpu/CACHE-REFERENCES/ cpu/CYCLES-CT/

    root@skl:/tmp# perf stat -e cpu/cache-misses/,cpu/CACHE-REFERENCES/

    Note that:

    a) This patch only supports bash.

    b) It doesn't support the cases like {},{} or {...,...}.

    Signed-off-by: Jin Yao
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Alexander Shishkin
    Cc: Andi Kleen
    Cc: Jiri Olsa
    Cc: Kan Liang
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1513848370-8098-1-git-send-email-yao.jin@linux.intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Jin Yao
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

20 Mar, 2015

13 commits

  • Since some functions (e.g. '_get_comp_words_by_ref()') in perf bash
    completion script are originally taken from git bash completion script,
    these functions may be preloaded before perf bash completion script
    runs.

    In order to avoid repeating loading the same function twice, some test
    constraints are used before these function definitions in the perf bash
    completion script (e.g. 'type _get_comp_words_by_ref &>/dev/null ||').

    The problem is that, if these functions in perf bash completion script
    are changed for some reason, perf will still use the preloaded bash
    functions rather than the customized functions of its own.

    As a result, the perf bash completion will behave incorrectly. To get
    rid of this problem, a flag can be defined to determine the proper
    situation.

    And to avoid overwriting the preloaded functions, the names of these
    functions in perf bash completion script should be renamed to the
    perf-customized ones.

    Example:

    Before this patch:

    $ type _get_comp_words_by_ref
    _get_comp_words_by_ref is a function
    _get_comp_words_by_ref ()
    {
    local exclude flag i OPTIND=1;
    local cur cword words=();
    local upargs=() upvars=() vcur vcword vprev vwords;
    while getopts "c:i:n:p:w:" flag "$@"; do
    case $flag in
    c)
    vcur=$OPTARG
    ;;
    i)
    vcword=$OPTARG
    ;;
    n)
    exclude=$OPTARG
    ;;
    p)
    vprev=$OPTARG
    ;;
    w)
    vwords=$OPTARG
    ;;
    esac;
    done;
    while [[ $# -ge $OPTIND ]]; do
    case ${!OPTIND} in
    cur)
    vcur=cur
    ;;
    prev)
    vprev=prev
    ;;
    cword)
    vcword=cword
    ;;
    words)
    vwords=words
    ;;
    *)
    echo "bash: $FUNCNAME(): \`${!OPTIND}': unknown argument" 1>&2;
    return 1
    ;;
    esac;
    let "OPTIND += 1";
    done;
    __get_cword_at_cursor_by_ref "$exclude" words cword cur;
    [[ -n $vcur ]] && {
    upvars+=("$vcur");
    upargs+=(-v $vcur "$cur")
    };
    [[ -n $vcword ]] && {
    upvars+=("$vcword");
    upargs+=(-v $vcword "$cword")
    };
    [[ -n $vprev && $cword -ge 1 ]] && {
    upvars+=("$vprev");
    upargs+=(-v $vprev "${words[cword - 1]}")
    };
    [[ -n $vwords ]] && {
    upvars+=("$vwords");
    upargs+=(-a${#words[@]} $vwords "${words[@]}")
    };
    (( ${#upvars[@]} )) && local "${upvars[@]}" && _upvars "${upargs[@]}"
    }

    As shown above, the _get_comp_words_by_ref is the preloaded function in
    fact, rather than the function defined in perf-completion.sh. So if we
    happen to change the function for some reason, the result will behave in
    a wrong state.

    After this patch:

    We can set preload_get_comp_words_by_ref="false" to not use the preloaded
    function. Instead, it will use the function defined in perf-completion.sh,
    which is renamed as __perf_get_comp_words_by_ref to avoid overwriting
    the preloaded function _get_comp_words_by_ref.

    $ type __perf_get_comp_words_by_ref
    __perf_get_comp_words_by_ref is a function
    __perf_get_comp_words_by_ref ()
    {
    local exclude cur_ words_ cword_;
    if [ "$1" = "-n" ]; then
    exclude=$2;
    shift 2;
    fi;
    __my_reassemble_comp_words_by_ref "$exclude";
    cur_=${words_[cword_]};
    while [ $# -gt 0 ]; do
    case "$1" in
    cur)
    cur=$cur_
    ;;
    prev)
    prev=${words_[$cword_-1]}
    ;;
    words)
    words=("${words_[@]}")
    ;;
    cword)
    cword=$cword_
    ;;
    esac;
    shift;
    done
    }

    As shown above, the function __perf_get_comp_words_by_ref is loaded and
    can work this time.

    Note that we do not change the original behavior when those functions are
    not preloaded before perf bash completion script runs. In this case,
    although the flag is set to "true", the code will still change it to
    "false" to use the function defined in perf-completion.sh.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1426685758-25488-14-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     
  • The bash completion does not support listing subsubcommands for 'perf
    trace ', so fix it.

    Example:

    Before this patch:

    $ perf trace
    $

    As shown above, the subsubcommands of perf trace does not come out.

    After this patch:

    $ perf trace
    record

    As shown above, the subsubcommands of perf trace can come out now.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1426685758-25488-13-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     
  • The bash completion does not support listing subsubcommands for 'perf
    timechart ', so fix it.

    Example:

    Before this patch:

    $ perf timechart
    $

    As shown above, the subsubcommands of perf timechart does not come out.

    After this patch:

    $ perf timechart
    record

    As shown above, the subsubcommands of perf timechart can come out now.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1426685758-25488-12-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     
  • The bash completion does not support listing subsubcommands for 'perf
    test ', so fix it.

    Example:

    Before this patch:

    $ perf test
    $

    As shown above, the subsubcommands of perf test does not come out.

    After this patch:

    $ perf test
    list

    As shown above, the subsubcommands of perf test can come out now.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1426685758-25488-11-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     
  • The bash completion does not support listing subsubcommands for 'perf
    script ', so fix it.

    Example:

    Before this patch:

    $ perf script
    $

    As shown above, the subsubcommands of perf script does not come out.

    After this patch:

    $ perf script
    record report

    As shown above, the subsubcommands of perf script can come out now.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1426685758-25488-10-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     
  • The bash completion does not support listing subsubcommands for 'perf
    help ', so fix it.

    Example:

    Before this patch:

    $ perf help
    $

    As shown above, the subsubcommands of perf help does not come out.

    After this patch:

    $ perf help
    annotate buildid-cache data evlist inject
    kvm lock probe report script
    test top
    bench buildid-list diff help kmem
    list mem record sched stat
    timechart trace

    As shown above, the subsubcommands of perf help can come out now.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1426685758-25488-9-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     
  • The bash completion does not support listing subsubcommands for 'perf
    data ', so fix it.

    Example:

    Before this patch:

    $ perf data
    $

    As shown above, the subsubcommands of perf data does not come out.

    After this patch:

    $ perf data
    convert

    As shown above, the subsubcommands of perf data can come out now.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1426685758-25488-8-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     
  • The bash completion does not support listing subcommands for 'perf
    -- '.

    Example:

    Before this patch:

    $ perf --debug
    $

    As shown above, the subcommands of perf does not come out.

    After this patch:

    $ perf --debug
    annotate buildid-cache data evlist inject
    kvm lock probe report script
    test top version
    bench buildid-list diff help kmem
    list mem record sched stat
    timechart trace

    As shown above, the subcommands of perf can come out now.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1426685758-25488-7-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     
  • The bash completion only supports -e rather than --event, so fix it.

    Example:

    Before this patch:

    $ perf record --event
    $

    As shown above, the events of record does not come out.

    After this patch:

    $ perf record --event
    lignment-faults cpu/instructions/
    L1-dcache-prefetch-misses node-prefetches
    uncore_rbox_0/qpi0_idle_filt/
    branch-instructions cpu/mem-loads/
    L1-dcache-store-misses node-prefetch-misses
    uncore_rbox_0/qpi1_date_response/
    branch-load-misses cpu-migrations
    L1-dcache-stores node-store-misses
    uncore_rbox_0/qpi1_filt_send/
    branch-loads dTLB-load-misses
    L1-icache-load-misses node-stores
    uncore_rbox_0/qpi1_idle_filt/
    ...

    As shown above, the events of record can come out now.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1426685758-25488-6-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     
  • The bash completion does not support listing events for 'perf kvm|kmem|
    mem|lock|sched record|stat|top -e ', where 'kvm|kmem|mem|lock|sched'
    are all subcommands of perf.

    Example:

    Before this patch:

    $ perf kvm record -e
    $

    As shown above, the events of record does not come out.

    After this patch:

    $ perf kvm record -e
    alignment-faults cpu/instructions/
    L1-dcache-prefetch-misses node-prefetches
    uncore_rbox_0/qpi0_idle_filt/
    branch-instructions cpu/mem-loads/
    L1-dcache-store-misses node-prefetch-misses
    uncore_rbox_0/qpi1_date_response/
    branch-load-misses cpu-migrations
    L1-dcache-stores node-store-misses
    uncore_rbox_0/qpi1_filt_send/
    branch-loads dTLB-load-misses
    L1-icache-load-misses node-stores
    uncore_rbox_0/qpi1_idle_filt/
    ...

    As shown above, the events of record can come out now.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1426685758-25488-5-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     
  • The bash completion gives wrong options for 'perf kvm|kmem|mem|lock|
    sched subsubcommand --', where 'kvm|kmem|mem|lock|sched' are all
    subcommands of perf and 'subsubcommand' is a subcommand of 'kvm|kmem|mem
    |lock|sched'. In fact, the result incorrectly lists the bash completion
    of 'perf subcommand' rather than 'perf subcommand subsubcommand'.

    Example:

    Before this patch:

    $ perf kvm record --
    --guest --guestkallsyms --guestmodules --guestmount
    --guestvmlinux --host --input --output
    --verbose

    As shown above, the result is the options of kvm rather than record.

    After this patch:

    $ perf kvm record --
    --all-cpus --cgroup --delay --group
    --no-buildid --output --quiet --stat
    --uid
    --branch-any --count --event --intr-regs
    --no-buildid-cache --period --raw-samples --tid
    --verbose
    --branch-filter --cpu --filter --mmap-pages
    --no-inherit --per-thread --realtime --timestamp
    --weight
    --call-graph --data --freq
    --no-buffering --no-samples --pid
    --running-time --transaction

    As shown above, the result is exactly the options of record as we wished.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1426685758-25488-4-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     
  • The bash completion does not support listing subsubcommands for 'perf
    kvm|kmem|mem|lock|sched -- ', where 'kvm|kmem|mem|
    lock|sched' are all subcommands of perf.

    Example:

    Before this patch:

    $ perf kvm --verbose
    $

    As shown above, the subsubcommands of perf kvm does not come out.

    After this patch:

    $ perf kvm --verbose
    buildid-list diff record report stat
    top

    As shown above, the subsubcommands of perf kvm can come out now.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1426685758-25488-3-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     
  • The bash completion does not support listing options for 'perf
    kvm|kmem|mem|lock|sched --', where 'kvm|kmem|mem|lock|sched' are
    all subcommands of perf.

    Example:

    Before this patch:

    $ perf kvm --
    $

    As shown above, the options of perf kvm does not come out.

    After this patch:

    $ perf kvm --
    --alloc --caller --input --line --raw-ip --sort
    --verbose

    As shown above, the options of perf kvm can come out now.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1426685758-25488-2-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     

28 Feb, 2015

1 commit

  • The perf-completion.sh uses a predefined string '--help --version
    --exec-path --html-path --paginate --no-pager --perf-dir --work-tree
    --debugfs-dir' for the bash completion of 'perf --*', which has two
    problems:

    Problem 1: If the options of perf are changed (see handle_options() in
    perf.c), the perf-completion.sh has to be changed at the same time. If
    not, the bash completion of 'perf --*' and the options which perf
    really supports will be inconsistent.

    Problem 2: When typing another single character after 'perf --', e.g.
    'h', and hit TAB key to get the bash completion of 'perf --h', the
    character 'h' disappears at once. This is not what we want, we wish the
    bash completion can return '--help --html-path' and then we can
    continue to choose one.

    To solve this problem, we add '--list-opts' to perf, which now supports
    'perf --list-opts' directly, and its result can be used in bash
    completion now.

    Example:

    Before this patch:

    $ perf --h
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/1425032491-20224-8-git-send-email-yunlong.song@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     

16 Apr, 2014

4 commits


15 Mar, 2014

1 commit

  • Introduce

    $ perf kvm --list-cmds

    to dump a raw list of commands for use by the completion script. In
    order to do this, introduce parse_options_subcommand() for handling
    subcommands as a special case in the parse-options machinery.

    Signed-off-by: Ramkumar Ramachandra
    Acked-by: David Ahern
    Acked-by: Jiri Olsa
    Cc: David Ahern
    Link: http://lkml.kernel.org/r/1393896396-10427-1-git-send-email-artagnon@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Ramkumar Ramachandra
     

13 Dec, 2013

1 commit


28 Nov, 2013

1 commit