溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vxworks中SMP的Affinity怎么用

發(fā)布時間:2021-12-22 11:10:31 來源:億速云 閱讀:237 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹vxworks中SMP的Affinity怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

CPU Affinity一般翻譯為CPU的親和力或親和性,是多核OS里的一種技術(shù),指的是可以將任務(wù)綁定到某個CPU上。在VxWorks的SMP里,默認每個任務(wù)都可以在每個CPU上執(zhí)行,而指定Affinity后,就可以把某些任務(wù)固定下來,讓其只在特定的CPU上執(zhí)行。相關(guān)的函數(shù)是taskCpuAffinitySet()和taskCpuAffinityGet()

vxworks中SMP的Affinity怎么用

與cpuset_t相關(guān)的,還有幾個宏??疵謶摼湍懿鲁鍪巧兑馑?,宏定義也是非常簡單↘

vxworks中SMP的Affinity怎么用

如果不指定Affinity呢?新創(chuàng)建的任務(wù)會繼承Parent任務(wù)的Affinity,看個例子

vxworks中SMP的Affinity怎么用

如果任務(wù)的Affinity指定到某個CPU了,而那個CPU一直忙于更高優(yōu)先級的任務(wù),一時半會兒還輪不到這個任務(wù)執(zhí)行,怎么辦?VxWorks的SMP還提供了一種特殊的功能:保留CPU。被保留的CPU,就只運行那些Affinity是這個CPU的任務(wù)。另外提供參數(shù)VX_SMP_CPU_EXPLICIT_RESERVE,用來排除那些不能被保留的CPU。

vxworks中SMP的Affinity怎么用

可以看到CPU2(0x1是CPU0、0x2是CPU1、0x4是CPU2…0x80是CPU7)被保留下來,而目前只有任務(wù)t1指定到它上邊了。因此,不管t1的優(yōu)先級高低,只要t1進入就緒隊列,它就會在CPU2上執(zhí)行了。

以上是“vxworks中SMP的Affinity怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI