From owner-cvs-all Sat Dec 22 20:43:38 2001 Delivered-To: cvs-all@freebsd.org Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by hub.freebsd.org (Postfix) with ESMTP id 426E837B416; Sat, 22 Dec 2001 20:43:31 -0800 (PST) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id PAA12280; Sun, 23 Dec 2001 15:43:14 +1100 Date: Sun, 23 Dec 2001 15:43:22 +1100 (EST) From: Bruce Evans X-X-Sender: To: David Greenman Cc: Mike Silbersack , Matt Dillon , , Subject: Re: cvs commit: src/sys/dev/sio sio.c In-Reply-To: <20011222193445.E24034@nexus.root.com> Message-ID: <20011223154024.R10568-100000@gamplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Sat, 22 Dec 2001, David Greenman wrote: [bde wrote] > >> >The driver used to have dynamic fifo trigger reduction, mainly to > >> >support many active sio devices, but this was found harmful and backed > >> >out: > >> > > >> >! RCS file: /home/ncvs/src/sys/dev/sio/sio.c,v > >> >! Working file: sio.c > >> >! head: 1.353 > >> >! ... > >> >! ---------------------------- > >> >! revision 1.53 > >> >! date: 1994/09/21 19:39:25; author: davidg; state: Exp; lines: +3 -1 > >> >! #if 0'd evil dynamic fifo trigger level adjustment; it just bit me and > >> >! a couple of other people again. > >> >! ---------------------------- > >> > >> You know, it's really weird to see stuff that I wrote from more than > >> 7 years ago. I can only imagine how Kirk feels when he sees log messages > >> from the 80's. :-) > > > >At least if they have been untouched for that long then they were probably > >correct :-). > > Correct for the time, perhaps, but hardware has gotten faster and FreeBSD > kernel latency has apparantly gotten worse. Er, I meant Kirks change :-). Kernel latency has only gotten significantly worse in -current, except in my version of course. To fix it, I had to essentially bring back interrupt masking in software using ipending (so that interrupts don't need to be masked while spinlocks are held; this is easier than keeping spinlocked regions short). I must admit that I use the high trigger level partly as a canary to detect breakage of interrupt latency. > >> As I recall, the dynamic adjustment increased interrupt overhead each > >> time it ratcheted down, causing it to be even more likely to lower it > >> further until it was "1", disabling the overhead reduction benefits of > >> the fifo completely. The cure became worse than the disease. > > > >I once planned to bring this back, at least as an option, with the > >ratcheting down limited to 1 step. I never got around to this because > >the problem seemed to have gone away except for unusual hardware > >combinations. > > Perhaps reduce it to the mid-point (8), but not below that. And be silent about this and the first overrun to avoid scaring people :-). Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message