#! /bin/sh # Copyright (c) 2015 HUAWEI TECHNOLOGIES CO., LTD. # All rights reserved. # Check for missing binaries (stale symlinks should not happen) IRQBALANCE_BIN=/usr/sbin/irqbalance test -x $IRQBALANCE_BIN || exit 5 IRQBALANCE_PIDFILE="/var/run/irqbalance.pid" IRQBALANCE_CONFIG_FILE="/etc/sysconfig/irqbalance" if [ -f $IRQBALANCE_CONFIG_FILE ]; then . $IRQBALANCE_CONFIG_FILE fi # Note: There maybe IRQBALANCE_ARGS env in $IRQBALANCE_CONFIG_FILE # So, here we should add this. IRQBALANCE_ARGS=$IRQBALANCE_ARGS" --pid=$IRQBALANCE_PIDFILE" if [ -n "$IRQBALANCE_BANNED_CPUS" ]; then export IRQBALANCE_BANNED_CPUS fi if [ -n "$IRQBALANCE_BANNED_CPULIST" ]; then export IRQBALANCE_BANNED_CPULIST fi if [ "$IRQBALANCE_ONESHOT" != "auto" ]; then export IRQBALANCE_ONESHOT fi IRQS_BANNED="$IRQBALANCE_BANNED_INTERRUPTS" if [ -n "$IRQBALANCE_BANNED_INTERRUPTS" ]; then export IRQBALANCE_BANNED_INTERRUPTS fi for ban_irq in $IRQS_BANNED; do if [ -z "${ban_irq//[0-9]/}" ];then IRQBALANCE_ARGS=$IRQBALANCE_ARGS" --banirq=$ban_irq" else echo "Bad irq number $ban_irq, please check config file!" exit 1 fi done $IRQBALANCE_BIN $IRQBALANCE_ARGS