From owner-freebsd-current@FreeBSD.ORG Tue Oct 14 10:45:19 2003 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 9198916A4B3 for ; Tue, 14 Oct 2003 10:45:19 -0700 (PDT) Received: from rootlabs.com (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id AD60343F75 for ; Tue, 14 Oct 2003 10:45:18 -0700 (PDT) (envelope-from nate@rootlabs.com) Received: (qmail 31117 invoked by uid 1000); 14 Oct 2003 17:45:19 -0000 Date: Tue, 14 Oct 2003 10:45:19 -0700 (PDT) From: Nate Lawson To: "M. Warner Losh" In-Reply-To: <20031013.225519.19308181.imp@bsdimp.com> Message-ID: <20031014104224.R31046@root.org> References: <20031011234314.P23991@root.org> <20031012.095503.129593225.imp@bsdimp.com> <20031013.225519.19308181.imp@bsdimp.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: current@freebsd.org Subject: Re: Interrupt statistics? 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: Tue, 14 Oct 2003 17:45:19 -0000 On Mon, 13 Oct 2003, M. Warner Losh wrote: > In message: <20031013105145.J28323@root.org> > Nate Lawson writes: > : Given that, my biggest concern now is IO corruption. Are there any > : devices that have a low interrupt rate (or bus mastering rate) that cannot > : handle a few hundred us latency added to their handler startup? I'm > : thinking something like a floppy drive where the time between interrupts > : is great enough that cpu_idle() is called but that need to be serviced > : quickly or data is over/underrun. > > sio/uart > > At 115200 baud, you have 173us to service the interrupt when the FIFO > interrupt level is set to HI. At 460800 at HI you have 43us. With > the more conservative MED settings, these numbers are 4 times better > (670us and 173us). 200us is smack dab in the middle of these times. > This is inbound data, so things could be idle and there be issues. > > Not sure about other devices. Ok, I've instrumented the driver and found that most of the time, sleeps are 2-6 ms. Once in a while, they are a few hundred us. Rarely, they are tens of us. I'll test the driver with periodic serial IO to see if there is any data loss. I assume it's ok to tell people who are running high serial port speeds to disable the lowest sleep states. -Nate