摘自:http://www.voidcn.com/article/p-evfjwiae-bnv.html
使用isolcpus減少上下文切換。
為了減少上下文切換的可能性,需要提示內核,禁止將其他用戶空間任務調度到DPDK應用線程所在核。isolcpus Linux內核參數用於此目的。
例如,如果DPDK應用程序要在邏輯核心1,2和3上運行,則應將以下內容添加到內核參數列表中:
isolcpus = 1,2,3
使用vim打開/boot/grub2/grub.cfg文件(一般在99行)
定位到menuentry ‘CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)這一項
找到linux16 /vmlinuz-3.10.0-327.el7.x86_64 root=UUID=e542e506-5ae4-45a4-b6c2-b31eecec23e3 ro crashkernel=auto rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8這行
在后面加上isolcpus的參數,如果在啟動的時候配置啟動參數 isolcpus=2,3。那么系統啟動后將不使用CPU3和CPU4。
配置后進行重啟機器
啟動以后通過cat /proc/cmdline命令進行驗證
備注 上述方法配置后機器如果沒有生效,中斷被系統調度到2核(可以分析下原因),使用以下方法配置后生效
1.查看設備接口的中斷號
2、使用命令(如下)進行配置
echo “00000000,00000000,00000000,00000000,00000000,00000001” > /proc/irq/230/smp_affinity
echo “00000000,00000000,00000000,00000000,00000000,00000001” > /proc/irq/231/smp_affinity
echo “00000000,00000000,00000000,00000000,00000000,00000001” > /proc/irq/232/smp_affinity
echo “00000000,00000000,00000000,00000000,00000000,00000001” > /proc/irq/233/smp_affinity
echo “00000000,00000000,00000000,00000000,00000000,00000001” > /proc/irq/234/smp_affinity
3、配置完成后觀察中斷已經由第2核變為0核