I just put my FreeBSD 10.2-STABLE router in production running with Quagga 0.99.24.1, compiled throught Ports. After pass all traffic to this machine the load of S.O. been very hight and everything indicates that the problem is IRQ like shows below:
45 processes: 2 running, 42 sleeping, 1 waiting
CPU 0: 0.4% user, 0.0% nice, 0.0% system, 47.5% interrupt, 52.2% idle
CPU 1: 1.2% user, 0.0% nice, 0.8% system, 43.1% interrupt, 54.9% idle
CPU 2: 0.0% user, 0.0% nice, 1.2% system, 49.8% interrupt, 49.0% idle
CPU 3: 0.0% user, 0.0% nice, 0.0% system, 51.4% interrupt, 48.6% idle
CPU 4: 0.8% user, 0.0% nice, 0.8% system, 40.0% interrupt, 58.4% idle
CPU 5: 0.0% user, 0.0% nice, 0.8% system, 49.4% interrupt, 49.8% idle
CPU 6: 0.8% user, 0.0% nice, 0.8% system, 44.7% interrupt, 53.7% idle
CPU 7: 1.6% user, 0.0% nice, 0.8% system, 43.1% interrupt, 54.5% idle
Mem: 170M Active, 1118M Inact, 1300M Wired, 1550M Buf, 13G Free
Swap: 2862M Total, 2862M Free
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
11 root 8 155 ki31 0K 128K RUN 7 4087.9 413.04% [idle]
12 root 65 -84 - 0K 1040K WAIT 255 318.8H 383.54% [intr]
1841 root 1 35 0 679M 616M select 3 18.7H 17.97% /usr/local/sbin/bgpd -d
14 root 1 -16 - 0K 16K - 3 465:17 0.88% [rand_harvestq]
1611 root 1 20 0 177M 121M select 2 162:32 0.88% /usr/local/sbin/snmpd -p /var/run/net_snmpd.pid -c /usr/local/etc/snmpd.conf
I was looking for ways to use IRQ Affinity and I found the cpuset. In the manual, and examples on the Internet, the IRQ options is always pass as decimal. When I to a research on my system, with devinfo, I just see IRQ hexa address like this:
igb4 pnpinfo vendor=0x8086 device=0x1f41 subvendor=0x8086 subdevice=0x1f41 class=0x020000 at slot=20 function=2 handle=\_SB_.PCI0.D010
Interrupt request lines:
0x11c
0x11d
0x11e
0x11f
0x120
0x121
0x122
0x123
0x124
My question is: May I use, the same way, IRQ format lik decimal or hexa:
Like this:
cpuset -l 0x11c -x 1
or
cpuset -l 284 -x 1
Dosen't matter?
Best regards.