這篇文章主要介紹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怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯行業資訊頻道!
分享名稱:vxworks中SMP的Affinity怎么用
文章出自:http://vcdvsql.cn/article2/pdspic.html
成都網站建設公司_創新互聯,為您提供響應式網站、網站收錄、軟件開發、外貿建站、外貿網站建設、網站維護
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯