From owner-freebsd-current Fri Nov 22 21:37:17 2002 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 DB19E37B401 for ; Fri, 22 Nov 2002 21:37:15 -0800 (PST) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0D69243EA3 for ; Fri, 22 Nov 2002 21:37:15 -0800 (PST) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.3/8.12.3) with ESMTP id gAN5b9pk092546; Fri, 22 Nov 2002 22:37:10 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Fri, 22 Nov 2002 22:35:59 -0700 (MST) Message-Id: <20021122.223559.37439667.imp@bsdimp.com> To: Maksim.Yevmenkin@cw.com Cc: vova@sw.ru, shizukakudo_99@yahoo.com, freebsd-current@FreeBSD.ORG Subject: Re: Bluetooth questions From: "M. Warner Losh" In-Reply-To: <45258A4365C6B24A9832BFE224837D552B1265@sjdcex01.int.exodus.net> References: <45258A4365C6B24A9832BFE224837D552B1265@sjdcex01.int.exodus.net> X-Mailer: Mew version 2.1 on Emacs 21.2 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message: <45258A4365C6B24A9832BFE224837D552B1265@sjdcex01.int.exodus.net> "Maksim Yevmenkin" writes: : : > In message: <45258A4365C6B24A9832BFE224837D552B1264@sjdcex01.int.exodus.net> : > "Maksim Yevmenkin" writes: : > : I see a lot of "silo overflow" errors under moderate load. : > : As a result bytes get dropped on the floor. The Bluetooth : > : spec defines extremely simple serial protocol (H4). It simply : > : cannot tolerate UARTs that drop bytes. If at least one byte : > : gets dropped the entire HCI frame is lost. If HCI frame gets : > : dropped then "out of sync" condition exist and all bets are : > : off. The only way to get back "in sync" is to send Reset to : > : the device. After Reset device goes into standby state and : > : all operational state is lost. : > : > OK. That makes sense. Part of the problem even with even fast : > interrupt handlers is that interrupts are masked for way way too much : > code in -current, as compared to -stable. What baud rate are you : > running at? I'm running at 56k, which isn't the full datarate for : > 115200 baud that could be used. Even with a fast interrupt, you'd get : > SIO overflows in current, at least according to some reports. : : everything is set to 115200, but i think the hardware does : something funny with the divisor and internal rate is much : higher. with OLDCARD i managed to run Xircom card with fast : interrupts and acually got about 50 KBytes/sec. USB devices : give me about 60KBytes/sec. OLDCARD on -current? Chances are there's either an 8x the normal or 'custom'. With the settings on current, Let's assume a 8x is 921600 baud. That means that each bit is 1us, so each byte is 10us (1 start + 8 bits + 1 stop). The FIFO is 16 bytes (unless this part is a 16650 or something like that), which is set to go off at MEDH, which is 8 bytes from empty. This puts the upper bound of interrupt latency at 80us or so. Uggg. It looks like I gotta find a way to have ISA interrupts work, even with NEWCARD... :-( Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message