Possibly. But at the data rates mentioned (400kbaud), 8 character times
is 20us, which is pushing it for Linux on a PC at the moment. And if
there's another interrupt being serviced, goodbye data.
Actually, at 460kbaud, a single character time is 21.7us, so 8 character
times is 173.9us. To put that in perspective, on a 100 MHz pentium,
that's 17,390 cycles. That's a pretty long time to have the interrupt
masked. The main cause of interrupt latency, at least that I've seen,
is the IDE driver, which by default masks interrupts during I/O
transfers.
I wonder why they don't just put a bigger FIFO on the serial chip.
There are. Look at the StarTech 16650, or the TI 16750, or the Oxford
Semicondutor 16950. (I haven't added support for the last yet, but I
will.)
- Ted
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/