Ath79: COMFAST CF-E110N v2 high CPU ksoftirqd/0

The device uses the version 19.07.3. Long story short, there will be attached munin graphics to show how it is.

cpu-day

irqstats-day

interrupts-day

load-day

I can cure it only either with reboot or network restart.

So, I wrote the script which gets the statistics of the eth1 and restarts it if need.

#!/bin/sh

LAST_TMP=/tmp/interrupts.eth1.tmp

if [ ! -e "$LAST_TMP" ]
then
    cat /proc/interrupts | grep "19000000.eth" | awk '{print $2}' > $LAST_TMP
    exit 0
fi 


LAST=$(cat $LAST_TMP)
CURRENT=$(cat /proc/interrupts | grep "19000000.eth" | awk '{print $2}')

if [[ $(( $LAST + 5000 )) -ge $CURRENT ]]
then
	/sbin/ifconfig eth1 down && /sbin/ifconfig eth1 up
	logger -t ETH1 "eth1 was restarted"
fi

cat /proc/interrupts | grep "19000000.eth" | awk '{print $2}' > $LAST_TMP

cron runs this one every 5 minutes.