2016-04-27 11 views
1

ARCH Linux ARMを実行しているCortex-A15 Chromebookでperfが正常に動作しました。ARCH Linux ARMのすべてのイベントで "perf stat"が返されます。ARM

pacmanをgcc-5.3にアップデートしました。カーネルをアップデートするよう頼んだので、やりました。今

perfリターン:

[[email protected] Speckle]$ perf stat uname -a 
Linux alarm 3.8.11-3-ARCH #1 SMP Wed Jan 20 13:44:59 MST 2016 armv7l GNU/Linux 

Performance counter stats for 'uname -a': 

    <not supported>  task-clock    
    <not supported>  context-switches   
    <not supported>  cpu-migrations   
    <not supported>  page-faults    
    <not supported>  cycles     
    <not supported>  stalled-cycles-frontend 
    <not supported>  stalled-cycles-backend 
    <not supported>  instructions    
    <not supported>  branches     
    <not supported>  branch-misses    

     0.002148765 seconds time elapsed 

私はperf listを実行した場合、それは私に語ったが、それはこれらのイベントをサポートする必要があります。

[[email protected] Speckle]$ perf list 

List of pre-defined events (to be used in -e): 

    branch-instructions OR branches     [Hardware event] 
    branch-misses          [Hardware event] 
    bus-cycles           [Hardware event] 
    cache-misses          [Hardware event] 
    cache-references         [Hardware event] 
    cpu-cycles OR cycles        [Hardware event] 
    instructions          [Hardware event] 
    ref-cycles           [Hardware event] 

そして、私のカーネルの設定を確認し、perfはまだあるべきと思われますサポートされます。

[[email protected] Speckle]$ zgrep PERF /proc/config.gz 
CONFIG_CGROUP_PERF=y 
CONFIG_HAVE_PERF_EVENTS=y 
CONFIG_PERF_USE_VMALLOC=y 
CONFIG_PERF_EVENTS=y 
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set 
CONFIG_HW_PERF_EVENTS=y 
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set 
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y 
# CONFIG_CLS_U32_PERF is not set 
# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set 

私はocount/oprofileのをしようとすると、それが動作するようです:カーネルの変更が発生した場所、これがあるようにパックマンのログを見てみると

[[email protected] ~]$ ocount --events INST_RETIRED uname -a 
Linux alarm 3.8.11-3-ARCH #1 SMP Wed Jan 20 13:44:59 MST 2016 armv7l GNU/Linux 

Events were actively counted for 1598252 nanoseconds. 
Event counts (actual) for /usr/bin/uname: 
    Event    Count     % time counted 
    INST_RETIRED   609,518     100.00 

、それが見えますか?

[2016-04-26 06:24] [ALPM] upgraded libtool (2.4.6-3 -> 2.4.6-4) 
[2016-04-26 06:27] [ALPM] upgraded linux-firmware (20150904.6ebf5d5-1 -> 20160315.deb1d83-1) 
[2016-04-26 06:27] [ALPM] upgraded linux-peach (3.8.11-2 -> 3.8.11-3) 
[2016-04-26 06:27] [ALPM-SCRIPTLET] >>> Updating module dependencies. Please wait ... 
[2016-04-26 06:27] [ALPM-SCRIPTLET] A new kernel version needs to be flashed onto /dev/sda1. 
[2016-04-26 06:27] [ALPM-SCRIPTLET] Do you want to do this now? [y|N] 
[2016-04-26 06:28] [ALPM-SCRIPTLET] 8752+0 records in 
[2016-04-26 06:28] [ALPM-SCRIPTLET] 8752+0 records out 
[2016-04-26 06:28] [ALPM-SCRIPTLET] 4481024 bytes (4.5 MB, 4.3 MiB) copied, 12.7236 s, 352 kB/s 

私は何を台無しでしたし、どのように私はperfバックを得るのですか?

+0

'raw'イベントを直接使用できますか? ['oprofile'](http://oprofile.sourceforge.net/docs/armv7-ca15-events.php)で動作しますか?あなたの 'kernel'と' perf'バージョンは何ですか? – Jakuje

+0

カーネルのバージョンは 'Linux alarm 3.8.11-3-ARCH'です。 'pacman -Q'を確認して、' linux-api-headers 4.4.1-1'、 'linux-firmware 20160315.deb1d83-1'、' perf 4.5-2'をインストールしました。私は 'oprof'、' oreport'に慣れていませんが、エラーなしで走ったようです。未処理のイベントは、数値が正しい場合はカウントされません( 'perf stat -e cycles、r08、r11 ls')。 – Chris

+0

'oprof'を使って簡単に動作することを確認するコマンドはありますか? 'sudo operf ls'を実行すると、カーネルプロファイリングは現在のシステム設定では不可能であると言われています。 – Chris

答えて

0

解決策は、perf 4.5-2からperf 4.3-1にダウングレードすることでした。

cd /var/cache/pacman/pkg/ 
sudo pacman -U perf-4.3-1-armv7h.pkg.tar.xz 

perf stat lsを実行すると、期待したカウンタが返されるようになりました。

関連する問題