1

ARM Cortex-A8 で oprofile を使用してアプリケーションのプロファイルを作成すると、イメージ名が「[vectors] (tgid:20712 range:0xffff0000-0xffff1000)」のサンプルが多数あることに気付きました。

oprofile は、これが私の処理時間の 17% を占めると報告しているので、誰かがこれが何であるかを説明できることを願っています。私は広範囲に検索しましたが、説明が見つかりません。

私はおそらく例外処理と関係があると考えていましたか?

4

1 に答える 1

2

Linux は、例外エントリ ベクトルを配置する「ハイ ベクトル」設定を使用します0xffff0000。したがって、すべてのシステム コール、割り込み、障害などがこのページを通過します。

ただし、ベクトル ページは常に存在する必要があるため、ARM カーネルは、ページの残りの部分で無駄になっているスペースを利用して、移植可能な方法で実装するのが難しいいくつかのことについて、ユーザーがアクセスできるヘルパー関数を格納します。 . あなたのプロセス (おそらく下位レベルのライブラリ) もこれらを利用している可能性があります。典型的な使用法は固定アドレスを直接呼び出すだけなので、解決するシンボルはおそらくありません。

于 2014-07-31T11:49:43.690 に答える