2007-08-04 18:21:20

by Lee Howard

[permalink] [raw]
Subject: Re: serial flow control appears broken

Ray Lee wrote:

>On 7/27/07, Lee Howard <[email protected]> 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 can't reproduce it easily, though, because of
>>disk caching.)
>>
>>
>
>`echo 1 > /proc/sys/vm/drop_caches` will clear out most (all?) of what
>the kernel has cached from the drive. It's there just for this kind of
>repeatability of tests...
>

And in repeat tests it is quite evident that IDE disk activity is,
indeed, at least part of the problem. As IDE disk activity increases an
increased amount of data coming in on the serial port goes missing.

Thanks,

Lee.


2007-08-04 21:09:57

by Paul Fulghum

[permalink] [raw]
Subject: Re: serial flow control appears broken

Lee Howard wrote:
> And in repeat tests it is quite evident that IDE disk activity is,
> indeed, at least part of the problem. As IDE disk activity increases an
> increased amount of data coming in on the serial port goes missing.

Lee, you mentioned 2.2.x kernels did not exhibit this problem.

Was this on the same hardware you are currently testing?
Which 2.2.x version were you using?
Was the 2.2.x serial driver also identifying the UART as a 16550A?
Can you get /proc/interrupts output
from both the current setup and the 2.2.x setup?

It would be interesting to compare the interrupt
assignment and UART setup between the versions.

--
Paul

2007-08-05 00:00:28

by Lee Howard

[permalink] [raw]
Subject: Re: serial flow control appears broken

Paul Fulghum wrote:

> Lee Howard wrote:
>
>> And in repeat tests it is quite evident that IDE disk activity is,
>> indeed, at least part of the problem. As IDE disk activity increases
>> an increased amount of data coming in on the serial port goes missing.
>
>
> Lee, you mentioned 2.2.x kernels did not exhibit this problem.
>
> Was this on the same hardware you are currently testing?


Yes it was... except for the hard drive. I have different installs of
different operating systems on different hard drives. I change the hard
drive when switching between 2.2.5 and 2.6.5.

> Which 2.2.x version were you using?


The default 2.2.5 kernel that comes with RedHat 6.0.

> Was the 2.2.x serial driver also identifying the UART as a 16550A?


Yes it does.

> Can you get /proc/interrupts output
> from both the current setup and the 2.2.x setup?


Current (2.6.5):

CPU0
0: 14660696 XT-PIC timer
1: 8 XT-PIC i8042
2: 0 XT-PIC cascade
3: 1240314 XT-PIC serial
4: 778901 XT-PIC serial
8: 1 XT-PIC rtc
10: 111647 XT-PIC eth0
14: 221202 XT-PIC ide0
15: 34 XT-PIC ide1
NMI: 0
ERR: 5

(2.2.5):

CPU0
0: 5908 XT-PIC timer
1: 88 XT-PIC i8042
2: 0 XT-PIC cascade
8: 2 XT-PIC rtc
10: 38 XT-PIC Intel EtherExpress Pro 10/100 Ethernet
13: 1 XT-PIC fpu
14: 36637 XT-PIC ide0
15: 4 XT-PIC ide1
NMI: 0

Thanks,

Lee.

2007-08-05 14:54:19

by Paul Fulghum

[permalink] [raw]
Subject: Re: serial flow control appears broken

2.2.5 is using the same UART setup (trigger level of 8) as
the current code. There is no obvious difference in the
interrupt setup (same devices on the same interrupts).

So I have no helpful suggestions :-(

--
Paul