• Dongsheng Yang's avatar
    perf kvm: Fix bug in 'stat report' · 476b3a86
    Dongsheng Yang authored
    When we use perf kvm record-report, there is a bug in report subcommand.
    
    Example:
    	# perf kvm stat record -a sleep 1
    	[ perf record: Woken up 1 times to write data ]
    	[ perf record: Captured and wrote 0.678 MB perf.data.guest (~29641 samples) ]
    	# perf kvm stat report
    	failed to open perf.data: No such file or directory  (try 'perf record' first)
    	Initializing perf session failed
    
    This bug was introduced by f5fc1412.
    
    +       struct perf_data_file file = {
    +               .path = input_name,
    +               .mode = PERF_DATA_MODE_READ,
    +       };
    
            kvm->tool = eops;
    -       kvm->session = perf_session__new(kvm->file_name, O_RDONLY, 0, false,
    -                                        &kvm->tool);
    +       kvm->session = perf_session__new(&file, false, &kvm->tool);
    
    It changed the path from kvm->file_name to input_name, this patch change the path back to
    'kvm->file_name', then it works well.
    
    Verification:
    	# perf kvm stat record -a sleep 1
    	[ perf record: Woken up 1 times to write data ]
    	[ perf record: Captured and wrote 0.807 MB perf.data.guest (~35264 samples) ]
    	# perf kvm stat report
    
    	Analyze events for all VCPUs:
    
    		     VM-EXIT    Samples  Samples%     Time%   Min Time   Max Time         Avg time
    
    	       EPT_VIOLATION        200    32.79%     1.25%        0us    12064us     62.35us ( +-  96.74% )
    	       EPT_MISCONFIG        134    21.97%     0.21%        0us       35us     15.25us ( +-   4.14% )
    	       EXCEPTION_NMI         96    15.74%     0.02%        0us       11us      1.95us ( +-   9.81% )
    		 APIC_ACCESS         79    12.95%     0.02%        0us       13us      2.94us ( +-  11.20% )
    			 HLT         65    10.66%    98.47%        0us    16706us  15084.86us ( +-   1.89% )
    	      IO_INSTRUCTION         27     4.43%     0.02%        0us       29us      6.42us ( +-  15.53% )
    	  EXTERNAL_INTERRUPT          5     0.82%     0.01%        0us       77us     23.65us ( +-  57.90% )
    	 TPR_BELOW_THRESHOLD          4     0.66%     0.00%        0us        1us      1.22us ( +-   4.36% )
    
    	Total Samples:610, Total events handled time:995745.54us.
    Signed-off-by: default avatarDongsheng Yang <yangds.fnst@cn.fujitsu.com>
    Link: http://lkml.kernel.org/r/1386632823-17539-1-git-send-email-yangds.fnst@cn.fujitsu.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    476b3a86
builtin-kvm.c 39.4 KB