Re: RT_PREEMPT and Serial Port

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mauricio � wrote:
> On Sat, Apr 12, 2008 at 01:08:37PM -0700, mgross wrote:
>> On Fri, Apr 04, 2008 at 03:57:53AM -0400, Mauricio A. Araya L�pez wrote:
>>> Hi all,
>>>
>>> I've been searching on the web (and in the rt-wiki) for the current
>>> status of the real-time support for devices. For instance
>>> the serial port, CAN Bus, etc.
>>>
> [...]
> 
>> FWIW I was able to get +/- 30usec jitter from a serial port experiment
>> where I programmed a PIC to push 5 bytes over the serial line every
>> 20ms. 
> My results are similar. A 30 usec jitter it seems to be the limit,
> but indeed the jitter is less, because the latency is near the
> 10 usec. But, that is "on average", because I've run several
> test during long time periods, and my worst jitter is like 5 msec!,
> which is too much. Maybe it is a hardware problem, but I am using
> no swap, no usb and no DMA, and I dont know which other thing
> i should disable to not have this huge random jitter.
> (Obviosly I am locking the memory to have no paging)
> 
>> I had a blocking read from a FIFO pthread that would wake up
>> and call gettimeofday, which I used to measure the jitter.  
> 
> I have the same idea, but using clock_gettime which use timespec
> (nanoseconds) like nanosleep. 
> 
>> It was
>> very impressive.  I'm pretty confident that *if* you use a hardware
>> serial port (no-USB) you will be able to implement effective PID
>> controls with a real time pthread program running on a RT-preempt
>> kernel. 
> 
> In summary, i am reading from other computer the data sent by a serial
> port, and almost always I have a 30-40 usec jitter, but sometimes
> I get a single point where the jitter is like 1-5 msec. The strange
> thing is that the sender shows perfect timing (less that 30 usec),
> but the reader get these strange jumps. I am downloading the last
> kernel to check the serial port driver code: the patch -rt do something
> with the serial port? or generally some hardware related pacth?

Just to be sure, the interrupt thread of your serial port is running at
a higher priority than the others.

Wolfgang.


--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux