网卡中断绑定cpu亲核性

本文介绍了一个用于设置IRQ亲和性的Shell脚本。该脚本能够为指定的网络设备的不同中断类型设置对应的CPU核心,以优化系统的中断处理效率。需要注意的是,此脚本仅支持单个中断绑定到单个CPU核心的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#param1: dev name
#param2.3.4..: corenum

#examle: set_affinity eth1 0 1 2 3 4

#just support single core ->one irq, not support multi-core -> one irq

set_affinity(){
params=$@

core_max=`cat /proc/cpuinfo |grep -c processor`
echo "coremask max is $core_max"

argc=(${params// / })

for dir in rxtx TxRx
do
    irq_nums=`cat /proc/interrupts | grep -c $1-$dir`
    corenum_counts=$[$#-1]
    if [ $coremask_counts -lt $irq_nums ]; then
         echo "core params($corenum_counts) must >= irq_nums($irq_nums)."
        return
    fi
    for ((i = 1; i <= $irq_nums; i ++))
    do
        irq_num_tmp=`cat /proc/interrupts | grep $1-$dir | awk -F: '{print $1}' | sed -n $i'p'`
        if [ -n  "$irq_num_tmp" ]; then
            #remove space
            irq_num=`echo ${irq_num_tmp// /}`

            if [ ${argc[i]} -lt $corenum_max ]; then
                echo "echo ${argc[i]} > /proc/irq/$irq_num/smp_affinity_list"
                echo ${argc[i]} > /proc/irq/$irq_num/smp_affinity_list
            fi
        fi
    done
done
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值