Date: Tue, 14 Oct 2003 10:45:19 -0700 (PDT) From: Nate Lawson <nate@root.org> To: "M. Warner Losh" <imp@bsdimp.com> Cc: current@freebsd.org Subject: Re: Interrupt statistics? Message-ID: <20031014104224.R31046@root.org> In-Reply-To: <20031013.225519.19308181.imp@bsdimp.com> References: <20031011234314.P23991@root.org> <20031012.095503.129593225.imp@bsdimp.com> <20031013.225519.19308181.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 13 Oct 2003, M. Warner Losh wrote: > In message: <20031013105145.J28323@root.org> > Nate Lawson <nate@root.org> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031014104224.R31046>