[英]oprofile: what does “[vectors] (tgid:20712 range:0xffff0000-0xffff1000)” mean?
I profile my application using oprofile on an ARM Cortex-A8 and I notice a lot of samples with image name "[vectors] (tgid:20712 range:0xffff0000-0xffff1000)" 我在ARM Cortex-A8上使用oprofile对应用程序进行了概要分析,并注意到很多示例的图像名称为“ [vectors](tgid:20712 range:0xffff0000-0xffff1000)”
oprofile reports that this is responsible for 17% of my process time so hopefully someone can explain what this is. oprofile报告这占我处理时间的17%,因此希望有人可以解释这是什么。 I've searched extensively and can't find an explanation. 我已经进行了广泛搜索,找不到解释。
I was thinking perhaps something to do with exception handling? 我在想也许与异常处理有关?
Linux uses the "high vectors" setting, which places the exception entry vectors at 0xffff0000
- thus all system calls, interrupts, faults, etc. will pass through this page. Linux使用“高向量”设置,它将异常入口向量置于0xffff0000
因此所有系统调用,中断,错误等都将通过此页面。
However, since the vectors page must always be present, The ARM kernel makes use of the otherwise wasted space in the rest of the page to house some user-accessible helper functions for a few things that would be otherwise difficult to implement in a portable way. 但是,由于必须始终存在vectors页面,因此ARM内核利用页面其余部分中原本浪费的空间来容纳一些用户可访问的辅助函数 ,以解决其他一些难以通过便携式方式实现的功能。 Your process (most likely lower-level libraries) may well be making use of these too - since typical usage is to just call their fixed addresses directly there probably aren't any symbols to resolve for them. 您的进程(最有可能是较低级的库)也很可能会利用它们-因为典型的用法是直接调用其固定地址,所以可能没有任何符号可以解析。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.