Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> writes: > On 05.01.2022 11:37:05, Greg Kroah-Hartman wrote: >> On Wed, Jan 05, 2022 at 08:59:09AM +0100, Tomasz Moń wrote: >> > On 04.01.2022 23:49, Uwe Kleine-König wrote: >> > > On Tue, Jan 04, 2022 at 12:38:01PM +0100, Greg Kroah-Hartman wrote: >> > >> On Tue, Jan 04, 2022 at 12:13:06PM +0100, Tomasz Moń wrote: >> > >>> On 04.01.2022 11:54, Greg Kroah-Hartman wrote: >> > >>>> Why can't you do this dynamically based on the baud rate so >> > >>>> as to always >> > >>>> work properly for all speeds without increased delays for slower ones? >> > >>> >> > >>> Could you please advise on which baud rates to consider as >> > >>> slow? Does it >> > >>> sound good to have the old trigger level for rates up to and including >> > >>> 115200 and the new one for faster ones? >> > >> >> > >> You tell me, you are the one seeing this issue and are seeing delays on >> > >> slower values with your change. Do some testing to see where the curve >> > >> is. >> > >> > While the increased latency due to this change is undeniable, it is >> > important to note that latency is not everything. There are applications >> > where the latency is crucial, however using Linux for such applications >> > is questionable. Linux is not a Real Time Operating System after all. >> >> Yes, Linux can be used in real time situtations just fine, look at the >> RT patchset for proof of that. Do you mean CONFIG_PREEMPT_RT patches? If so, you probably miss the point. These patches, among other things, convert interrupt handlers into preemptible kernel threads, that in turn may even result in increase of latency of getting characters from RS232 as seen by user applications. These patches rather allow to write specific kernel IRQ handlers that will have low latencies, too meet RT requirements. Anyway, we are discussing this in the context of plain mainstream kernel, and when latency vs throughput compromise is to be considered, I'd expect throughput to win, not latency. >> >> So let's not make things any worse for no good reason if at all >> possible. > > +1 > > We have a $CUSTOMER, where serial latency is crucial. And we have a task > to cut down latencies and jitter even more. Provided plain Linux kernel is far from being RT, it seems that to meet the requirements you'd need to patch the kernel anyway. Like, say, apply RT-patches and then turn this particular ISR back from threads to kernel level. In which case adding one more tweak of setting the water mark back to 1 is not a big deal, right? Thanks, -- Sergey Organov