2020年5月28日 星期四

[教學] DPDK EAL parameter使用方式

大家好啊~~
官方的範例看得有夠久
在執行程式的時候實在很納悶指令的參數該怎麼下

-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
-------------------------------------------------------

沒有留言:

張貼留言