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://bzwzjz.com/article/pdspic.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站建设公司 高端网站设计 成都响应式网站建设公司 成都网站设计 网站设计公司 成都定制网站建设 成都网站建设公司 成都营销网站制作 成都网站制作 网站建设公司 成都网站设计 定制网站建设 网站建设改版 外贸网站建设 响应式网站设计 梓潼网站设计 成都网站设计 成都网站设计 网站制作 营销型网站建设 网站制作 手机网站制作