From owner-freebsd-stable Tue Apr 25 5:49:32 2000 Delivered-To: freebsd-stable@freebsd.org Received: from logatome.francenet.fr (logatome-2.francenet.fr [193.149.96.2]) by hub.freebsd.org (Postfix) with ESMTP id 4B3D737BCA0 for ; Tue, 25 Apr 2000 05:49:27 -0700 (PDT) (envelope-from e-masson@kisoft-services.com) Received: from localhost.nantes.kisoft-services.com (pppA258.francenet.fr [193.149.100.168]) by logatome.francenet.fr (8.10.1/8.10.1) with SMTP id e3PCnIS49026; Tue, 25 Apr 2000 14:49:18 +0200 (CEST) X-Mailer: 21.1 (patch 9) "Canyonlands" XEmacs Lucid (via feedmail 8 Q); VM 6.72 under 21.1 (patch 9) "Canyonlands" XEmacs Lucid MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14597.37879.611136.906144@localhost.nantes.kisoft-services.com> Date: Tue, 25 Apr 2000 14:47:51 +0200 (CEST) From: Eric Masson To: "Jim King" Cc: Subject: Re: sio interrupt handler problem In-Reply-To: <003801bfae25$39a6d100$a44b8486@jking> References: <5564.000424@pd.chel.ru> <20000424114057.A692@pir.net> <14596.37283.563515.214828@localhost.nantes.kisoft-services.com> <003801bfae25$39a6d100$a44b8486@jking> Reply-To: e-masson@kisoft-services.com Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Jim King writes: >One thing I've done in the past to overcome serial port problems is to patch >sys/isa/sio.c to set the FIFO receive trigger level to 8 bytes instead of 14 >(FIFO_RX_MEDH instead of FIFO_RX_HIGH). If you have a piece of hardware or >a misbehaved driver that's causing high interrupt latency this change be >really beneficial, and greatly outweighs the higher interrupt overhead when >using an 8 byte trigger. > > >An 8 byte trigger is a safer option that causes better operation on weird >hardware without signifcantly changing anything on good hardware. I really >wish sio.c would be changed to set the trigger to 8 bytes by default, or at >least have a flags option to change the trigger level. > I applied the following crappy patch to sio.c, and i still encounter the SOs *** /sys/isa/sio.c.ORIGINAL Tue Apr 25 14:15:06 2000 --- /sys/isa/sio.c Tue Apr 25 14:15:34 2000 *************** *** 1113,1119 **** com->tx_fifo_size = 32; printf(" ST16650A"); } else { ! com->tx_fifo_size = COM_FIFOSIZE(flags); printf(" 16550A"); } } --- 1113,1119 ---- com->tx_fifo_size = 32; printf(" ST16650A"); } else { ! com->tx_fifo_size = 8; printf(" 16550A"); } } sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A lookalike with 8 bytes FIFO sio0: 1 more silo overflow (total 1) sio0: 1 more silo overflow (total 2) sio0: 1 more silo overflow (total 3) sio0: 2 more silo overflows (total 5) sio0: 1 more silo overflow (total 6) sio0: 1 more silo overflow (total 7) sio0: 2 more silo overflows (total 9) sio0: 2 more silo overflows (total 11) sio0: 1 more silo overflow (total 12) sio0: 1 more silo overflow (total 13) sio0: 1 more silo overflow (total 14) sio0: 2 more silo overflows (total 16) Did I understand your point ? (Kernel patching isn't part of my daily work :). Regards Eric Masson -- Opinions stated below are mine and can't be considered as official Kisoft Services policy. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message