从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这篇文章主要介绍vxworks中SMP的Affinity怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联于2013年创立,先为宝鸡等服务建站,宝鸡等地企业,进行企业商务咨询服务。为宝鸡企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
CPU Affinity一般翻译为CPU的亲和力或亲和性,是多核OS里的一种技术,指的是可以将任务绑定到某个CPU上。在VxWorks的SMP里,默认每个任务都可以在每个CPU上执行,而指定Affinity后,就可以把某些任务固定下来,让其只在特定的CPU上执行。相关的函数是taskCpuAffinitySet()和taskCpuAffinityGet()
与cpuset_t相关的,还有几个宏。看名字应该就能猜出是啥意思,宏定义也是非常简单↘
如果不指定Affinity呢?新创建的任务会继承Parent任务的Affinity,看个例子
如果任务的Affinity指定到某个CPU了,而那个CPU一直忙于更高优先级的任务,一时半会儿还轮不到这个任务执行,怎么办?VxWorks的SMP还提供了一种特殊的功能:保留CPU。被保留的CPU,就只运行那些Affinity是这个CPU的任务。另外提供参数VX_SMP_CPU_EXPLICIT_RESERVE,用来排除那些不能被保留的CPU。
可以看到CPU2(0x1是CPU0、0x2是CPU1、0x4是CPU2…0x80是CPU7)被保留下来,而目前只有任务t1指定到它上边了。因此,不管t1的优先级高低,只要t1进入就绪队列,它就会在CPU2上执行了。
以上是“vxworks中SMP的Affinity怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图