Date: Wed, 4 Mar 1998 19:48:10 -0800 From: John-Mark Gurney <gurney_j@efn.org> To: Mike Smith <mike@smith.net.au> Cc: shimon@simon-shapiro.org, Evan Champion <evanc@synapse.net>, current@FreeBSD.ORG, Matthew Thyer <Matthew.Thyer@dsto.defence.gov.au> Subject: Re: silo overflows (Was Re: 3.0-RELEASE?) Message-ID: <19980304194810.22210@hydrogen.nike.efn.org> In-Reply-To: <199803050323.TAA23786@dingo.cdrom.com>; from Mike Smith on Wed, Mar 04, 1998 at 07:23:52PM -0800 References: <XFMail.980304185844.shimon@simon-shapiro.org> <199803050323.TAA23786@dingo.cdrom.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Mike Smith scribbled this message on Mar 4: > > > > > > I have a Pentium Pro 200 with 16650's (and the 16650's are detected) and > > > during a full install of FreeBSD over 128kbps ISDN (230.4kbps port speed) > > > I > > > would get around 700 FIFO overflows. Someone would have to do a lot of > > > convincing to get me to believe the driver is working properly when a > > > machine like that can't handle a 128kbps datastream in single user > > > mode... > > > > Assume you are doing something like FTP of packages-current. > > You are reading about 16 kilobytes per second, which is just about 1,142 > > interrupts per second (assuming a 16 myte FIFO and 14 byte treshold. > > Interrupt rate is less significant in this issue than interrupt > latency. At 230kbps you have about 43us/character. Without a 16650 > datasheet I can't confirm whether the standard FIFO trigger levels are > doubled or not; if they are, you have 4 bytes or about 170us between > when the interrupt is generated and "too late". actually, the default for the 16550 is set to 14 characters.. and as there is a 16 character buffer, that means only 2 characters... you might want to take a look at pr#2239... it has a patch to change the default trigger level from 14 down to 8... though the patch is slightly out of date (made to rev 1.154 of sio.c), it should be obvious what is needed... > Because of the way the sio driver handles interrupts, you want to look > for code sections bracketed with disable_intr/enable_intr calls to find > possible culprits. that's another good thing to look for... hmm... another modificate to the spl/disable_intr/enable_intr would be to keep track of the last few functions that did disable interrupts and then when sio discovers an overflow, to output those... > > Every > > 1KB, you write to disk, so now we have 1,160 interrupts per second. > > There's no guarantee of this; particularly not if I/O clustering, async > or soft updates are enabled. Filesystems are mounted async during an > install. yep... -- John-Mark Gurney Modem/FAX: +1 541 683 6954 Cu Networking P.O. Box 5693, 97405 Live in Peace, destroy Micro$oft, support free software, run FreeBSD Don't trust anyone you don't have the source for To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980304194810.22210>