このセクションでは、「概要」ページと「関数」ビューを「呼び出し元/呼び出し回数」パネルとともに使用してクロックプロファイリングデータを調査します。
「概要」ページで、3 つの HW カウンタメトリックのチェックボックスを選択解除し、「CPU 時間合計」チェックボックスのみを選択したままにします。
「関数」ビューに移動し、「包括的 CPU 合計」の列見出しを 1 回クリックし、包括的 CPU 合計時間に従ってソートします。
この時点で、関数 do_work() がリストの先頭にあります。
do_work() 関数を選択し、「関数」ビューの下部にある「呼び出し元/呼び出し回数」パネルに注目します。
do_work()は 2 つの場所から呼び出され、10 個の関数を呼び出します。
do_work() が呼び出す 10 個の関数は 10 個の異なるタスクを表し、プログラムが実行した同期メソッドは関数ごとに異なります。mttest で作成される一部の実験では、わずかな時間を使用してほかのタスクからワークブロックをフェッチする 11 番目の関数が記録されることがあります。この関数はスクリーンショットには示されていません。
do_work() はほとんどの場合、データを処理するスレッドの作成時に呼び出され、_lwp_start() から呼び出されるものとして示されます。do_work() は場合によっては、locktest() から呼び出されたあと、nothreads() という名前の 1 つのシングルスレッドタスクを呼び出します。
パネルの「呼び出し」側では、最初の 2 つを除くすべての呼び出し先が、ほぼ同じ時間の「属性 CPU 合計」(12 秒以下) を示しています。