vxworks中SMP的Affinity怎么用

这篇文章主要介绍vxworks中SMP的Affinity怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联于2013年创立,先为宝鸡等服务建站,宝鸡等地企业,进行企业商务咨询服务。为宝鸡企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

CPU Affinity一般翻译为CPU的亲和力或亲和性,是多核OS里的一种技术,指的是可以将任务绑定到某个CPU上。在VxWorks的SMP里,默认每个任务都可以在每个CPU上执行,而指定Affinity后,就可以把某些任务固定下来,让其只在特定的CPU上执行。相关的函数是taskCpuAffinitySet()和taskCpuAffinityGet()

vxworks中SMP的Affinity怎么用

与cpuset_t相关的,还有几个宏。看名字应该就能猜出是啥意思,宏定义也是非常简单↘

vxworks中SMP的Affinity怎么用

如果不指定Affinity呢?新创建的任务会继承Parent任务的Affinity,看个例子

vxworks中SMP的Affinity怎么用

如果任务的Affinity指定到某个CPU了,而那个CPU一直忙于更高优先级的任务,一时半会儿还轮不到这个任务执行,怎么办?VxWorks的SMP还提供了一种特殊的功能:保留CPU。被保留的CPU,就只运行那些Affinity是这个CPU的任务。另外提供参数VX_SMP_CPU_EXPLICIT_RESERVE,用来排除那些不能被保留的CPU。

vxworks中SMP的Affinity怎么用

可以看到CPU2(0x1是CPU0、0x2是CPU1、0x4是CPU2…0x80是CPU7)被保留下来,而目前只有任务t1指定到它上边了。因此,不管t1的优先级高低,只要t1进入就绪队列,它就会在CPU2上执行了。

以上是“vxworks中SMP的Affinity怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


网站标题:vxworks中SMP的Affinity怎么用
网址分享:http://www.hxwzsj.com/article/pdspic.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 成都网站建设公司 移动网站建设 网站建设公司 LED网站设计方案 攀枝花网站设计 app网站建设 成都网站建设公司 网站制作 网站设计 盐亭网站设计 成都响应式网站建设公司 成都网站制作 成都网站建设推广 成都定制网站建设 响应式网站设计方案 成都网站设计 温江网站设计 成都网站建设 响应式网站设计 网站建设改版 成都网站制作 成都网站制作公司