From owner-freebsd-current@FreeBSD.ORG Sun May 2 10:52:27 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B67CD16A4CE for ; Sun, 2 May 2004 10:52:27 -0700 (PDT) Received: from Reineke.Malepartus.de (reineke.malepartus.de [194.25.4.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7E11343D5C for ; Sun, 2 May 2004 10:52:24 -0700 (PDT) (envelope-from bm@Reineke.Malepartus.de) Received: from Reineke.Malepartus.de (localhost [127.0.0.1]) i42HqM0K010412; Sun, 2 May 2004 19:52:22 +0200 (CEST) (envelope-from bm@Reineke.Malepartus.de) Received: (from bm@localhost) by Reineke.Malepartus.de (8.12.11/8.12.11/Submit) id i42HqKXR010411; Sun, 2 May 2004 19:52:20 +0200 (CEST) (envelope-from bm) Date: Sun, 2 May 2004 19:52:19 +0200 From: Burkard Meyendriesch To: Bruce Evans Message-Id: <20040502195219.21874618.bm@malepartus.de> In-Reply-To: <20040501212314.N20783@gamplex.bde.org> References: <20040426111754.38a855c4.bm@malepartus.de> <20040426233925.Y5300@gamplex.bde.org> <20040430102504.477152ce.bm@malepartus.de> <20040501102705.7a7ec726.bm@malepartus.de> <20040501212314.N20783@gamplex.bde.org> Organization: The Home of Reineke Fuchs X-Mailer: Sylpheed version 0.9.10 (GTK+ 1.2.10; amd64-portbld-freebsd5.2) X-Face: "[-; ]oI+8gP9>*J%knDN8d%DuhvJS2Lj4L\bRb7gz(pcT?2Zh6_Vam_6csAum3$<&lhAFd^ jt|!&Ut1C~Vg*E/q}+#cbFg-GU]c.bB8Ad,L'W$'9{^0y'AzM4#hS[C[F-1'|O; Kg3Vrq5q6dsU*TmJ@}+QPM\ b[^9Rhd,UoMpRpd5k[X=h.Dom*kbT`cNQ Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit cc: freebsd-current@freebsd.org cc: atkin901@yahoo.com Subject: Re: sio: lots of silo overflows on Asus K8V with Moxa Smartio C104H/PCI solved X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 May 2004 17:52:27 -0000 On Sat, 1 May 2004 21:41:27 +1000 (EST) Bruce Evans wrote: > ... > So there must be something holding Giant for too long, and if my other > patch doesn't help then there must also be a thread with priority > higher than PI_TTYLOW that runs for too long. This doesn't seem to > be much of a problem in my local configurations, so you can test fixes > and workarounds for it better than me. Try the following untested > hack to get higher priority than most threads: > > %%% > Index: sio.c > =================================================================== > RCS file: /home/ncvs/src/sys/dev/sio/sio.c,v > retrieving revision 1.428 > diff -u -2 -r1.428 sio.c > --- sio.c 30 Apr 2004 21:16:52 -0000 1.428 > +++ sio.c 1 May 2004 11:29:44 -0000 > @@ -1164,5 +1302,6 @@ > if (ret) { > ret = BUS_SETUP_INTR(device_get_parent(dev), dev, > - com->irqres, INTR_TYPE_TTY, > + com->irqres, > + INTR_TYPE_CLOCK | INTR_MPSAFE, > siointr, com, &com->cookie); > if (ret == 0) > %%% > > This is a superset of the previous patch. > I applied your patch to version 1.428 of sio.c of my actual source tree. The compiler complains: /usr/src/sys/dev/sio/sio.c: In function `sioattach': /usr/src/sys/dev/sio/sio.c:1167: error: `INTR_TYPE_CLOCK' undeclared (first use in this function) /usr/src/sys/dev/sio/sio.c:1167: error: (Each undeclared identifier is reported only once /usr/src/sys/dev/sio/sio.c:1167: error: for each function it appears in.) *** Error code 1 I grep'ed the complete source tree for INTR_TYPE_CLOCK but couldn't find it. Did you mean INTR_TYPE_CLK out of /usr/src/sys/sys/bus.h? I tried INTR_TYPE_CLK. The boot message is now: May 2 16:09:34 Reineke kernel: puc0: port 0xa000-0xa00f,0xa400-0xa43f,0xa800-0xa87f irq 19 at device 14.0 on pci0 May 2 16:09:34 Reineke kernel: puc0: Reserved 0x40 bytes for rid 0x18 type 4 at 0xa400 May 2 16:09:34 Reineke kernel: sio4: on puc0 May 2 16:09:34 Reineke kernel: sio4: type 16550A May 2 16:09:34 Reineke kernel: sio5: on puc0 May 2 16:09:34 Reineke kernel: sio5: type 16550A May 2 16:09:34 Reineke kernel: sio6: on puc0 May 2 16:09:34 Reineke kernel: sio6: type 16550A May 2 16:09:34 Reineke kernel: sio7: on puc0 May 2 16:09:34 Reineke kernel: sio7: type 16550A I made a complete backup of my Palm Tungsten T3. systat -v showed me a sustained interrupt rate of 1400 ints/s on puc while iostat 1 showed reasonable 11000 chars of input/s at 115200 bps. The Palm backup took about 58 minutes and produced absolutely NO silo overflow. The problem is obviously solved . . . Thank you! > > Btw, "device apic" doesn't exist; did you mean "device acpi"? > > They both exist in -current. "device apic" is newer. > /usr/src/UPDATING explains "device apic" as a device for i386 kernels. For amd64 it doesn't seem to work. Burkard -- Burkard Meyendriesch Stevern 2 D-48301 Nottuln