Messages in this thread | | | Date | Wed, 19 Dec 2007 18:19:15 +0100 | From | Haavard Skinnemoen <> | Subject | Re: [PATCH v2 0/6] atmel_serial: Cleanups, irq handler splitup & DMA |
| |
On Wed, 19 Dec 2007 17:59:09 +0100 "Remy Bohmer" <linux@bohmer.net> wrote:
> > > but I noticed that I sometimes get an input overrun (ttyS0: 1 > > > input overrun(s) ) during stress conditions. > > > This is something I did not notice before, maybe it was already there, > > > or has something changed in this area that it is now more sensitive > > > for this? > > Hmm...is this with or without DMA? > > DBGU is without DMA.
Right.
> > If it's without DMA, something very strange is going on -- the non-DMA > > RX code is almost the only thing left in the hardirq handler, so I > > would really expect overruns to be much less likely to occur now than > > before... > > As mentioned, maybe it was already there, but I did not run into it > earlier. I have to figure that out. But, at 115200 and a 1 byte > receive-'fifo' on DBGU, and still interrupt locks somewhere in the > tree up to 300us, it is a simple calculation that we can run into > overrun conditions...
preempt-rt can disable interrupts for 300 us?
If so, then I guess there's really no way to avoid a few overruns.
> Notice that without these interrupt handler splitup, it was much, much > much worse...
Ok, that's good I guess.
> So, for me it is not a big deal, because it is just a terminal, and > with my shaky fingers I usually do not type that fast ;-))
If you do, you just need to switch to one of the USARTs instead of the DBGU so that you can use DMA :-)
We need to fix the break- and error handling though. But my vacation starts tomorrow, so I probably won't be able to fix it until next year.
Haavard
| |