From owner-freebsd-stable@FreeBSD.ORG Tue Feb 1 12:38:36 2011 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A91741065670 for ; Tue, 1 Feb 2011 12:38:36 +0000 (UTC) (envelope-from lev@FreeBSD.org) Received: from ftp.translate.ru (ftp.translate.ru [80.249.188.42]) by mx1.freebsd.org (Postfix) with ESMTP id 478898FC0A for ; Tue, 1 Feb 2011 12:38:36 +0000 (UTC) Received: from lion.home.serebryakov.spb.ru (89.112.15.178.pppoe.eltel.net [89.112.15.178]) (Authenticated sender: lev@serebryakov.spb.ru) by ftp.translate.ru (Postfix) with ESMTPA id E131C13DF42; Tue, 1 Feb 2011 15:38:34 +0300 (MSK) Date: Tue, 1 Feb 2011 15:38:33 +0300 From: Lev Serebryakov Organization: FreeBSD X-Priority: 3 (Normal) Message-ID: <1364200185.20110201153833@serebryakov.spb.ru> To: Eugene Grosbein , "Vogel, Jack" In-Reply-To: <4D47C2FB.4090803@rdtc.ru> References: <1481093142.20110201102416@serebryakov.spb.ru> <1522400637.20110201105842@serebryakov.spb.ru> <4D47C2FB.4090803@rdtc.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: quoted-printable Cc: freebsd-stable@freebsd.org Subject: Re: em0: Watchdog timeout -- resetting X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: lev@FreeBSD.org List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Feb 2011 12:38:36 -0000 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