Very high latency on Intel NuC10 (Core i5-10210U)

More
22 Dec 2021 19:18 #229754 by jrbloom
Hi all.

I am trying to setup Linux CNC on a CometLake(CML) based Intel NuC10. This is a very recent Core-i5 based system, not a low-power NuC). My intention is to run this with a mesa 7i92, so don't need fast software stepping.

The latest linuxcnc livecd doesn't boot to the GUI out of the box due to the 4.19 kernel not having support in i915 for CML (which didn't land until around kernel 5.2). To fix this I upgraded the kernel to 5.10.0-0.bpo.9-rt-amd64 from a text login, and now have a working desktop.

I'm now able to run the latency test, but it is really dire, with Max Jitter ~16ms (16000000ns).

I did do some trawling of the docs to try to improve this, and have disabled pretty much everything in the BIOS, to no avail.

Also attempted to run smictl but it looks like that is pretty much defunct these days because it uses iopl, which does work on modern systems (man7.org/linux/man-pages/man2/iopl.2.html).

Is this kind of jitter typical of recent systems? I feel it cannot be since that would imply that linuxcnc is rapidly backing itself into a corner, and will eventually not be useable unless we're lucky enough to have access to ancient h/w.

Am I wasting my time trying to deploy this, even with h/w stepping?

Thanks,

Jon

Please Log in or Create an account to join the conversation.

More
22 Dec 2021 20:32 #229759 by jrbloom
Ok, I did some more digging. The following thread: 25927-reducing-latency-on-multicore-pc-s-success
 
recommends using isolcpus on the kernel boot line. For my configuration, with a 4 core CPU, I added isolcpus=3 to /etc/default/grub, ran update-grub and rebooted. My Max Jitter has now been slashed to j194us. Still too high, but I am feeling more optimistic :-)

I will keep trawling the Forum for more tips, but in the meantime if anyone has any suggestions for bringing this down further I'd be very grateful.

Thanks,

Jon

Please Log in or Create an account to join the conversation.

More
22 Dec 2021 21:30 #229763 by 0x2102
For a 4 core CPU you would do isolcpus=1,2,3

You can these kernel parameters as well:

isolcpus=1,2,3 intel_idle.max_cstate=0 processor.max_cstate=0 idle=poll

Please Log in or Create an account to join the conversation.

More
22 Dec 2021 21:56 #229765 by jrbloom
Thanks a lot. That's brought it down to around 90us :-)

Please Log in or Create an account to join the conversation.

Time to create page: 0.075 seconds
Powered by Kunena Forum