官方的範例看得有夠久
在執行程式的時候實在很納悶指令的參數該怎麼下
-c <core mask>
用十六進位表示法決定要用哪些lcore去執行
如果要用core0&core1→-c 0x3
如果要用core1&core2→-c 0x6
-l <core list>
用直覺的表法決定要用哪些lcore去執行
如果要用core0&core1→-l 0,1
如果要用core0&core1&core3→-l 0,1,3
※上述兩種描述法在同行指令中互斥(只能二選一啦)
--master-lcore <core ID>
決定使用哪個lcore當作master
如果要用core3→--master-lcore 3
-s <service core mask>
決定使用哪些lcore當作service core
假定我有4個core,如果我只想要讓core1&core2執行→ -l 0,1,2,3 -s 0x9
以Helloworld當作範例,會得到
-------------------------------------------------------
hello from core 1
hello from core 2
in master lcore 0
hello from core 0
-------------------------------------------------------
到這裡你可能會問為什麼core0還會執行((-s表示:當我塑膠?
這是因為預設情況會使用core0當作master core
只要某一個core被指定為master core
不管core mask為何都會執行
所以如果要完全符合你所期望的結果
結合上面--master-lcore的指令指定master core給1(或2)
就會得到
-------------------------------------------------------
hello from core 2
in master lcore 1
hello from core 1
-------------------------------------------------------
沒有留言:
張貼留言