• Yang Jihong's avatar
    perf kvm: Fix subcommand matching error · d2f30b79
    Yang Jihong authored
    
    
    Currently the 'diff', 'top', 'buildid-list' and 'stat' perf commands use
    strncmp() to match subcommands.  As a result, matching does not meet
    expectation.
    
    For example:
      # perf kvm diff1234
      # Event 'cycles'
      #
      # Baseline  Delta Abs  Shared Object  Symbol
      # ........  .........  .............  ......
      #
    
      # Event 'dummy:HG'
      #
      # Baseline  Delta Abs  Shared Object  Symbol
      # ........  .........  .............  ......
      #
      # echo $?
      0
      #
    
    Invalid information should be returned, but success is actually returned.
    
    Solution: Use strstarts() to match subcommands.
    
    After:
      # perf kvm diff1234
    
       Usage: perf kvm [<options>] {top|record|report|diff|buildid-list|stat}
    
          -i, --input <file>    Input file name
          -o, --output <file>   Output file name
          -v, --verbose         be more verbose (show counter open errors, etc)
              --guest           Collect guest os data
              --guest-code      Guest code can be found in hypervisor process
              --guestkallsyms <file>
                                file saving guest os /proc/kallsyms
              --guestmodules <file>
                                file saving guest os /proc/modules
              --guestmount <directory>
                                guest mount directory under which every guest os instance has a subdir
              --guestvmlinux <file>
                                file saving guest os vmlinux
              --host            Collect host os data
    
      # echo $?
      129
      #
    Signed-off-by: default avatarYang Jihong <yangjihong1@huawei.com>
    Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20220808092408.107399-2-yangjihong1@huawei.com
    
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    d2f30b79
builtin-kvm.c 38.4 KB