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 回答