Fwd: RT and tty communication

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

 



On Tue, Jun 13, 2017 at 2:29 PM, Sebastian Andrzej Siewior
<bigeasy@xxxxxxxxxxxxx> wrote:
> On 2017-06-12 15:48:49 [+0200], Niels Kolthoff wrote:
>> Hi,
>>
>> I'm currently testing a RT application that communicates with sensor
>> hardware using a tty serial port. The application polls the tty port
>> (non-blocking) in a user space thread (priority 80) for incoming data.
>> On a raspberry PI3 (ttyAMA0), with kernel 4.4.9-rt17, response times <
>> 650usec are achieved, which is fine.
>>
>> Any version equal or above 4.4.12-rt20 will increase response peaks to
>> (about 0.1%) > 2msec, with some peaks > 5msec.
>>
>> cyclictest doesn't reproduce this, so I suspected a change in the tty
>> driver, or related to raspberry pi.
>>
>> I found that, by reverting the attached patch, response times return
>> to < 650usec. I suspect it has something to do with a change in the
>> read poll.
>>
>> I'd like to help solving this issue, can anyone give me some pointers
>> on how to continue?
>
> My guess is that the newly introduced tty_buffer_flush_work() waits
> until all in-kernel data is processed before returning -EAGAIN (if the
> buffer is empty) for the non-blocking case which unbreaks ssh. So this
> wait could blocking you for longer than required.
> If that is really it, then this is what could be optimized :)
>
Ok, thanks, that's valuable input. I'll investigate this and keep u posted.

>> Regards,
>> Niels Kolthoff
>
> Sebastian
--
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