1 Aug 2007 23:54
Re: serial flow control appears broken
Frantisek Rysanek <Frantisek.Rysanek <at> post.cz>
2007-08-01 21:54:23 GMT
2007-08-01 21:54:23 GMT
On 28 Jul 2007 at 17:39, Lee Howard wrote: > >>Curiously, the session at 38400 bps that skipped 858 bytes... coincided, > >>not just in sequence but also in precice timing within the session, with > >>a small but noticeable disk load that I caused by grepping through a > >>hundred session logs. > > I've attached dmesg output. > I'd like to summarize a few points that have appeared in this long thread. Someone else has mentioned interrupt latency. I seem to recall that the RTAI people can measure that. http://issaris.org/rtai/list.php They report that some P4-class Intel chipsets (i845/865 for example) that are using message-signaled interrupt passing across the HubLink (serialized PCI) from the South Bridge to the North Bridge, exhibit interrupt latencies on the order of milliseconds, if the HubLink is loaded by some heavy PCI transfers, such as intensive disk IO. Reportedly this is because the interrupt messages are competing for the "right of the way" with the DMA-driven PCI transactions that carry the bulk of the disk IO payload, where a single PCI transaction can take that long. Now: you've quoted a Shuttle HOT-661. That's an older chipset, i440 class. That one was still using the traditional out-of-band interrupt delivery mechanism, using the INTR signal + vector reading over the ISA bus. Yet, come to think of that, the native PCI interconnect between the MCH and the PIIX4 can still present a bottleneck to IRQ processing. The AT PIC is located in the PIIX4 (south bridge). After(Continue reading)
>
So, to test... I put this in the application before every read:
int flags;
ioctl(modemFd, TIOCMGET, &flags);
flags |= TIOCM_RTS;
ioctl(modemFd, TIOCMSET, &flags);
RSS Feed