Date: Tue, 1 Feb 2011 15:38:33 +0300 From: Lev Serebryakov <lev@FreeBSD.org> To: Eugene Grosbein <egrosbein@rdtc.ru>, "Vogel, Jack" <jack.vogel@intel.com> Cc: freebsd-stable@freebsd.org Subject: Re: em0: Watchdog timeout -- resetting Message-ID: <1364200185.20110201153833@serebryakov.spb.ru> In-Reply-To: <4D47C2FB.4090803@rdtc.ru> References: <1481093142.20110201102416@serebryakov.spb.ru> <1522400637.20110201105842@serebryakov.spb.ru> <4D47C2FB.4090803@rdtc.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello, Eugene & Jack. You wrote 1 =C6=C5=D7=D2=C1=CC=D1 2011 =C7., 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 v= ery fast local disk): =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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: c= pu1} 11 root 171 ki31 0K 32K RUN 0 82.1H 100.00% {idle: c= pu0} 12 root -64 - 0K 304K WAIT 0 33:40 0.68% {irq18: u= hci2 ehc} 12 root -44 - 0K 304K WAIT 1 225:22 0.00% {swi1: ne= tisr 0} 14 root -68 - 0K 528K - 1 16:19 0.00% {usbus3} 12 root -40 - 0K 304K WAIT 0 14:25 0.00% {swi2: ca= mbio} 12 root -64 - 0K 304K WAIT 1 12:50 0.00% {irq22: a= hci0} 4 root -8 - 0K 16K - 0 12:26 0.00% g_down =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D INTR - ISR.DIRECT=3D0 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: cp= u0} 11 root 171 ki31 0K 32K RUN 1 90.1H 64.06% {idle: cp= u1} 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: ne= tisr 0} 0 root -68 0 0K 128K - 1 0:02 6.30% {em0 task= q} 12 root -68 - 0K 304K WAIT 0 0:00 1.56% {irq20: e= m0 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: u= hci2 ehc} 14 root -68 - 0K 528K - 0 16:19 0.00% {usbus3} 12 root -40 - 0K 304K WAIT 0 14:25 0.00% {swi2: ca= mbio} =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D INTR - ISR.DIRECT=3D0 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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D INTR - ISR.DIRECT=3D1 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: cp= u1} 11 root 171 ki31 0K 32K RUN 0 82.2H 67.87% {idle: cp= u0} 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 task= q} 12 root -68 - 0K 304K WAIT 0 0:01 1.66% {irq20: e= m0 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: u= hci2 ehc} 12 root -44 - 0K 304K WAIT 1 225:33 0.00% {swi1: ne= tisr 0} 14 root -68 - 0K 528K - 1 16:20 0.00% {usbus3} 12 root -40 - 0K 304K WAIT 0 14:25 0.00% {swi2: ca= mbio} =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D INTR - ISR.DIRECT=3D1 Real speed (accroding to Windows'7 report) ~101MiB/s. I've re-created file to flush caches on both sides between trys. --=20 // Black Lion AKA Lev Serebryakov <lev@FreeBSD.org>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1364200185.20110201153833>