From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Rod Webster <rod@vmn.com.au>
Cc: linux-rt-users@vger.kernel.org
Subject: Re: Excessive network latency when using Realtek R8168/R8111 et al NIC
Date: Fri, 28 Apr 2023 15:12:36 +0200 [thread overview]
Message-ID: <20230428131236.9MfVxN3s@linutronix.de> (raw)
In-Reply-To: <CANV1gkcr4jBUY-iH-iJJPdrVMp+1Nq1YrNPONferMC1AutJgkg@mail.gmail.com>
On 2023-04-28 20:46:17 [+1000], Rod Webster wrote:
> Sebastian
Hi Rod,
please keep list in Cc: Avoiding top-posting is a quite nice.
> Thanks, the Real TIme PREEMPT_RT kernel is a prerequisite for
> Linuxcnc. Note in this discussion, I am only referring to X86 machines
Okay. Then it could be related to softirq rework which started in
v5.0.19-rt11 and updated in v5.9-rc6-rt9.
Are you able to recompile a kernel?
> although we also install our software on ARM and others.
> linuxcnc-uspace is included in the debian Bookworm repositories and
> linux-image-rt is one of its dependencies..
> There are really two issues we have experienced. These have only
> become a factor since the 5.X kernels. Only one seems to be relevant
> to the RT project.
> 1. Excessive real time latency/jitter in the Debian RT images. I have
> escalated this to them on their Bug 1034550. Ref
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034550
As mentioned, the images are provided for convince. Depending one the
problem, the bugs are forwarded sometimes here.
However as per you Debian bug report v4.19-RT is fine, v5.10-RT isn't
and v6.1-RT is better or is it fine?
> 2. Excessive real time network latency/jitter when using the
> PREEMPT_RT kernel when communicating with Intel ethernet hardware in
> an RT environment.
Where is the Intel ethernet coming from? You were saying it is the
realtek nic.
> It is the second issue I wish to bring to your attention. eg.
> Excessive network latency. This appears to be more prevalent on
> Realtek hardware.
> Note that we document setting hardware-irq-coalesce-rx-usecs 0 on
> Intel NIC's is required. This setting has no effect on other makes of
> NIC's.
>
> In relation to Realtek NIC's, I can only speak for Debian but by
> default they use the R8169 Kernel module. (CONFIG_R8169?) They also
> offer the R8168-dkms and R8125-dkms drivers. We have many data points
> from our users that the R8169 driver offers very poor RT performance.
> But just installing a dkms driver is not enough on Debian to resolve
> the issue.
Is the vendor driver better than in the tree? This is not obvious from
what you are writing.
> We need to also build a RT kernel from the upstream sources and apply
> your RT patches.
>
> So aside from the awful high latency/jitter implementation of RT by
> Debian since the 5.10 kernel (Bookworm), the current strategy to use
> the R8169 as a generic driver is flawed. Debian says to report any use
> of the R8168-dkms driver and they will fix it.
>
> A lot of small industrial PC's use Realtek NIC and with the pending
> release of Bookworm now Linuxcnc is in its repos, there will be a wide
> ranging impact.
>
> Our FGPA ethernet hardware is capable of reporting maximum ethernet
> read and write times in timer ticks and is used in a point to point
> connection (no routers).
>
> I hope you can investigate this matter.
I am surprised to hear the vendor driver is doing fine while the in-tree
driver is bad.
Two things you could do:
- enabling tracing to see what is causing the delays/ latency spike. You
will need a trigger to notice the latency and then stop the trace at
this point. If so, I could provide additional steps unless you can do
it yourself.
- You could try to isolate the realtek driver on one CPU and moving
everything else to another.
> end
> -Rod Webster
>
>
>
> Rod Webster
>
> VMN®
>
> www.vmn.com.au
Sebastian
next prev parent reply other threads:[~2023-04-28 13:13 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-18 3:23 Excessive network latency when using Realtek R8168/R8111 et al NIC Rod Webster
2023-04-28 8:51 ` Sebastian Andrzej Siewior
[not found] ` <CANV1gkcr4jBUY-iH-iJJPdrVMp+1Nq1YrNPONferMC1AutJgkg@mail.gmail.com>
2023-04-28 13:12 ` Sebastian Andrzej Siewior [this message]
2023-04-28 21:37 ` Rod Webster
2023-04-29 1:00 ` Rod Webster
2023-05-16 10:59 ` Sebastian Andrzej Siewior
[not found] ` <CANV1gkftrZvhUhXV-mJ-mYmsue3ER33cXCNmVD1bGAc6TmTHuA@mail.gmail.com>
[not found] ` <CANV1gkfsAfDt76=STFrekQA4M6sfVKyq7bujA=Tu+S6k+EGYcg@mail.gmail.com>
2023-05-19 8:37 ` Sebastian Andrzej Siewior
2023-05-19 11:41 ` Rod Webster
2023-05-22 9:32 ` Sebastian Andrzej Siewior
2023-05-22 10:06 ` Rod Webster
2023-05-22 14:45 ` Marcelo Tosatti
2023-05-22 20:02 ` Rod Webster
2023-05-22 20:37 ` Peter Wallace
2023-05-22 20:50 ` Rod Webster
2023-05-23 23:21 ` Marcelo Tosatti
2023-05-24 14:09 ` Peter Wallace
2023-05-23 23:04 ` Marcelo Tosatti
2023-05-24 9:37 ` Stephane ANCELOT
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230428131236.9MfVxN3s@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=linux-rt-users@vger.kernel.org \
--cc=rod@vmn.com.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).