作者:hankf,Xilinx Employee
修改Xilinx的定时器裸核应用程序(baremetal, standalone)例子xttcps_intr_example.c,可以测量中断响应延迟。
然后在单板上运行,以及在XEN的虚拟机上运行,可以分别测量这两种情况下的中断响应延迟。
单板的中断延迟
首先看单板上运行的中断延迟的测试数据,也是没有无xen的中断延迟的测试数据。
TTC device id: 1
TTC device BaseAddress: 0xFF110004
TTC device InputClockHz: 0x5F5E100 = 100000000
Global timer frequency: 0x5F5B9F0 = 99990000
Ticker timer Interval: 62500
Ticker timer Prescaler: 3
... ...
No.1 TickHandler, Counter1: 6, Counter2: 7, average first counter value: 6
No.1 TickHandler, Goblal timer1: 114476857, 2: 114476887, 2-1: 30
... ...
No.20 TickHandler, Counter1: 2, Counter2: 4, average first counter value: 2
No.20 TickHandler, Goblal timer1: 139730363, 2: 139730395, 2-1: 32
No.21 TickHandler, Counter1: 2, Counter2: 4, average first counter value: 2
No.21 TickHandler, Goblal timer1: 140974466, 2: 140974497, 2-1: 31
TTC定时器Prescaler是3,代表缩放倍数是16。
第一次中断响应时TTC的计数器值为6,166=96个TTC时钟周期,相当于960ns。
后续中断响应时TTC的计数器值为2,216=32个TTC时钟周期,相当于320ns。
可以看到,MPSoC的中断响应延迟非常短。
xen虚拟机中断延迟
再看xen的虚拟机下,中断延迟的测试数据。
TTC device id: 1
TTC device BaseAddress: 0xFF110004
TTC device InputClockHz: 0x5F5E100 = 100000000
Global timer frequency: 0x5F5B9F0 = 99990000
Ticker timer Interval: 62500
Ticker timer Prescaler: 3
... ...
No.1 TickHandler, Counter1: 20, Counter2: 22, average first counter value: 20
... ...
No.20 TickHandler, Counter1: 11, Counter2: 13, average first counter value: 12
No.20 TickHandler, Goblal timer1: 11368782108, 2: 11368782109, 2-1: 1
No.21 TickHandler, Counter1: 13, Counter2: 15, average first counter value: 12
No.21 TickHandler, Goblal timer1: 11370077692, 2: 11370077693, 2-1: 1
同样,Prescaler是3,代表缩放倍数是16。
第一次中断响应时TTC的计数器值为20,16*20=320个TTC时钟周期,相当于3200ns。
后续中断响应时TTC的计数器值为12,12*16=192个TTC时钟周期,相当于1920ns。
xen虚拟机会最多会造成中断响应时间增加2240ns。即使这样,在本次测试中,在xen的虚拟机中,MPSoC的中断响应时间最大是3200ns,能满足绝大多数应用的要求。
结论
在xen的虚拟机中,MPSoC的中断响应时间最大是3200ns,能满足绝大多数应用的要求。
编辑:hfy
-
Xilinx
+关注
关注
73文章
2192浏览量
129975 -
定时器
+关注
关注
23文章
3361浏览量
121762
发布评论请先 登录
使用rk3568开发板,核0\\1\\3运行linux,核2运行hal,在核0中怎么关闭核2
搭建自己的ubuntu系统之创建ubuntu虚拟机
TECS OpenStack资源池虚拟机网络二层地址无法互通的问题处理
虚拟化数据恢复—XenServer虚拟化平台上VPS不可用的数据恢复案例
Linux 5.15.52_2.1.0 (Yocto) 是否支持Xen虚拟机管理程序?
hyper 备份,Hyper备份:虚拟机备份与恢复
hyper-v虚拟机,为何需要用hyper-v虚拟机?
hyper v 上网,Hyper-V上网:虚拟机网络配置
hyper cpu,Hyper CPU优化:提升虚拟机性能
hyper-v 备份,hyper-v怎样进行虚拟机的创建
hyper v 删除,怎么样删除hyper-v中的虚拟机?
hyper v for win10,hyper v for win10的实操流程,hyper-v批量管理工具的使用指南
hyper 内存,Hyper内存:如何监控与优化hyper-v虚拟机的内存使用
hyper内存条,hyper-v 添加虚拟机还需要硬盘吗

MPSoC,XEN虚拟机运行裸核的2种中断响应延迟情况
评论