em0: Watchdog timeout -- resetting
Lev Serebryakov
lev at FreeBSD.org
Tue Feb 1 12:38:36 UTC 2011
Hello, Eugene & Jack.
You wrote 1 февраля 2011 г., 11:23:23:
Eugene wrote:
> You could give a try to netisr parallelism of RELENG_8 instead of POLLING
> (and tune interrupt throttling) if your box does not have lots of dynamic
> interfaces like when using mpd.
Jack wrote:
> I don't test POLLING, sounds like its broken, I don't understand
> why you think you need you need it? This hardware supports
> MSI why not use it?
I send one answer to two messages, because data is the same.
Here it is snapshot of "top -S" with "H" pressed when server sends
1Gbit/s via SMB with polling (Windows'7 client copies 8GiB sparse file to very
fast local disk):
================= POLLING
CPU: 0.5% user, 0.0% nice, 0.6% system, 1.3% interrupt, 98.1% idle
PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND
11 root 171 ki31 0K 32K CPU1 1 90.1H 100.00% {idle: cpu1}
11 root 171 ki31 0K 32K RUN 0 82.1H 100.00% {idle: cpu0}
12 root -64 - 0K 304K WAIT 0 33:40 0.68% {irq18: uhci2 ehc}
12 root -44 - 0K 304K WAIT 1 225:22 0.00% {swi1: netisr 0}
14 root -68 - 0K 528K - 1 16:19 0.00% {usbus3}
12 root -40 - 0K 304K WAIT 0 14:25 0.00% {swi2: cambio}
12 root -64 - 0K 304K WAIT 1 12:50 0.00% {irq22: ahci0}
4 root -8 - 0K 16K - 0 12:26 0.00% g_down
================= POLLING
NB: no "smbd" process at all in first 8 positions.
Real speed (accroding to Windows'7 report) ~75MiB/s.
the same without polling, with net.isr settings:
# sysctl net.isr
net.isr.numthreads: 1
net.isr.maxprot: 16
net.isr.defaultqlimit: 256
net.isr.maxqlimit: 10240
net.isr.bindthreads: 0
net.isr.maxthreads: 1
net.isr.direct: 0
net.isr.direct_force: 0
================= INTR - ISR.DIRECT=0
CPU: 3.8% user, 0.0% nice, 26.5% system, 6.6% interrupt, 63.2% idle
PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND
11 root 171 ki31 0K 32K RUN 0 82.1H 83.59% {idle: cpu0}
11 root 171 ki31 0K 32K RUN 1 90.1H 64.06% {idle: cpu1}
33873 root 72 0 28912K 5432K select 0 0:28 34.96% smbd
12 root -44 - 0K 304K WAIT 0 225:29 9.18% {swi1: netisr 0}
0 root -68 0 0K 128K - 1 0:02 6.30% {em0 taskq}
12 root -68 - 0K 304K WAIT 0 0:00 1.56% {irq20: em0 fwohc}
7 root 44 - 0K 16K psleep 0 3:12 0.39% pagedaemon
12 root -64 - 0K 304K WAIT 1 33:41 0.20% {irq18: uhci2 ehc}
14 root -68 - 0K 528K - 0 16:19 0.00% {usbus3}
12 root -40 - 0K 304K WAIT 0 14:25 0.00% {swi2: cambio}
================= INTR - ISR.DIRECT=0
Real speed (accroding to Windows'7 report) ~85MiB/s.
the same without polling, with net.isr settings:
# sysctl net.isr
net.isr.numthreads: 1
net.isr.maxprot: 16
net.isr.defaultqlimit: 256
net.isr.maxqlimit: 10240
net.isr.bindthreads: 0
net.isr.maxthreads: 1
net.isr.direct: 1
net.isr.direct_force: 1
================= INTR - ISR.DIRECT=1
CPU: 2.8% user, 0.0% nice, 30.1% system, 1.7% interrupt, 65.4% idle
PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND
11 root 171 ki31 0K 32K RUN 1 90.2H 89.36% {idle: cpu1}
11 root 171 ki31 0K 32K RUN 0 82.2H 67.87% {idle: cpu0}
33873 root 103 0 28912K 5424K CPU0 0 0:51 33.98% smbd
0 root -68 0 0K 128K - 1 0:06 12.70% {em0 taskq}
12 root -68 - 0K 304K WAIT 0 0:01 1.66% {irq20: em0 fwohc}
7 root 45 - 0K 16K psleep 0 3:12 0.78% pagedaemon
12 root -64 - 0K 304K WAIT 0 33:42 0.20% {irq18: uhci2 ehc}
12 root -44 - 0K 304K WAIT 1 225:33 0.00% {swi1: netisr 0}
14 root -68 - 0K 528K - 1 16:20 0.00% {usbus3}
12 root -40 - 0K 304K WAIT 0 14:25 0.00% {swi2: cambio}
================= INTR - ISR.DIRECT=1
Real speed (accroding to Windows'7 report) ~101MiB/s.
I've re-created file to flush caches on both sides between trys.
--
// Black Lion AKA Lev Serebryakov <lev at FreeBSD.org>
More information about the freebsd-stable
mailing list