IRQ31 and IRQ32 on HPDL585 running FreeBSD 7.0 are consuming HIGH CPU usage

Won De Erick won.derick at yahoo.com
Fri Nov 14 04:58:59 PST 2008


> ----- Original Message ----

> From: Ivan Voras <ivoras at freebsd.org>
> To: freebsd-hardware at freebsd.org
> Cc: freebsd-net at freebsd.org
> Sent: Friday, November 14, 2008 7:49:13 PM
> Subject: Re: IRQ31 and IRQ32 on HPDL585 running FreeBSD 7.0 are consuming HIGH CPU usage
> 
> Won De Erick wrote:
> 
> > Another thing, I observed that in the above test, the net.isr is enabled by default. When I tried disabling this,
> > 
> > # sysctl net.isr.direct=0
> > net.isr.direct: 1 -> 0
> > 
> > the result:
> > 
> > 52 root        1 -68    -     0K    16K WAIT   b  64:00 42.97% irq32: bce1
> > 51 root        1 -68    -     0K    16K WAIT   a  38:22 12.26% irq31: bce0
> > 
> > The CPU utilizations considerably dropped!
> 
> You will probably find a "swi" process that has picked up the difference
> (when isr.direct is disabled, some of network protocol processing is
> offloaded to a swi thread). This might help spread the load across CPU
> but in my testing it didn't help real-world throughput.
>

You are right. I noticed the following when net.isr is diabled, lowering the idle time of cpu0.

   27 root        1 -44    -     0K    16K WAIT   0  52:20 76.37% swi1: net
   26 root        1 171 ki31     0K    16K CPU0   0 111:58 64.36% idle: cpu0


Another thing,
Packet drops on Intel NIC ( Intel® PRO/1000 PT Dual Port Server Adapter w/ control processor 82571GB) did not occur when the net.isr was disabled, while the overall CPU utilization remains considerably low.

Note: The following result was obtained during a transition from a disabled to enabled net.isr. Hence the first part

packets  errs      bytes    packets  errs      bytes colls drops
     10844     0   15603850       7940     0     582934     0     0
     11659     0   16800328       8503     0     630330     0     0
     11778     0   17033560       8998     0     677934     0     0
     12149     0   17592134       9504     0     728094     0     0
     12551     0   18223550       9974     0     774164     0     0
     13127     0   19093604      10413     0     811858     0     0
     13712     0   20010140      10924     0     848014     0     0
     14499     0   21153538      11407     0     878252     0     0
     14818     0   21740270      11979     0     915374     0     0
     15831     0   23136446      12376     0     950636     0     0
     15912     0   23365454      12852     0     997242     0     0
     16257     0   23848866      13282     0    1041878     0     0
     16384     0   24084782      13666     0    1079790     0     0
     16670     0   24508980      14078     0    1106886     0     0
     17845     0   26255548      14486     0    1134700     0     0
     18097     0   26705634      15064     0    1163308     0     0
     18470     0   27283000      15365     0    1198828     0     0
     18139     0   26842676      15596     0    1225540     0     0
     18792     0   27799564      16000     0    1264568     0     0
     17854   178   26454106      16521     0    1298714     0     0
     16741  1542   24820298      16770     0    1343328     0     0
            input          (em0)           output
   packets  errs      bytes    packets  errs      bytes colls drops
     15288  1667   22683486      17231     0    1422690     0     0
     15539  1718   23250372      17282     0    1495058     0     0
     14379   545   21541954      17364     0    1508696     0     0
     14312  1733   21546776      17276     0    1503372     0     0
     14269  1744   21498908      17516     0    1508294     0     0
     14444  1729   21766812      17175     0    1482130     0     0
     15023  1724   22643198      16987     0    1432048     0     0
     15279  1703   23036294      16909     0    1395094     0     0
     15325  1701   23118536      16938     0    1380268     0     0
     15572  1684   23494362      16909     0    1344214     0     0
     15798  1699   23845972      16857     0    1303200     0     0
     16195  1683   24497790      17059     0    1291586     0     0
     16431  1674   24851278      16826     0    1245320     0     0
     16683  1643   25231910      16675     0    1204450     0     0
     16728  1647   25302534      16672     0    1178930     0     0
     16826  1649   25455662      16662     0    1178140     0     0
     16760  1653   25352830      16480     0    1161086     0     0
     17002  1634   25720672      16423     0    1143508     0     0
     16943  1643   25629892      16642     0    1160858     0     0
     16995  1644   25708823      16539     0    1153782     0     0
     17026  1643   25758462      16606     0    1153342     0     0

However, network throughput didn't change in the two scenarios above.
Is there anything that I can test to improve my network throughput.

Thanks,

Won



      



More information about the freebsd-net mailing list