ubilinux and PREEMPT_RT kernel support
It would be great if ubilinux would support a PREEMPT_RT patched kernel. Upstream Debian comes with an RT kernel, so it wouldn't be hard to compile one for ubilinux as well.
I'm also willing to do this myself. Can you please confirm that these instructions work for ubilinux: https://wiki.up-community.org/Compile_ubilinux_kernel_from_source
Also, which kernel patch version is the current is the kernel on branch upboard-4.9
? So I can select the correct RT patch.
Comments
-
The kernel is 4.9.65, and I've used those instructions without issues.
Delicode Ltd - https://www.delicode.com/
-
-
Thanks, the instructions work great to build a kernel for upstream Debian:
uname -a
Linux upsquared 4.9.45-rt57-upboard-rt+ #1 SMP PREEMPT RT Thu Aug 9 12:02:41 CEST 2018 x86_64 GNU/LinuxApplying the RT patches worked perfectly, I only had to manually modify one file afterward.
@Jesse Kaukonen The pach level seems to be 4.9.45 in my case.
-
Great machinekoder!
Can you share a link to the source code/configuration on github so we could add to the wiki?
-
I've created a description on my blog: https://machinekoder.com/compiling-an-rt-kernel-for-the-up-suared/
However, the RT performance I get out of the Up^2 isn't really good so far. cyclic test gets me a latency of about 150us, even after tuning various kernel parameters. We have seen similar behavior with some wifi cards on other systems. I don't have a wifi card in my setup, but there might some other hardware causing problems. Does anyone know if there is another peripheral that could cause problems with RT latency on the Up^2?
-
@machinekoder said:
I've created a description on my blog: https://machinekoder.com/compiling-an-rt-kernel-for-the-up-suared/However, the RT performance I get out of the Up^2 isn't really good so far. cyclic test gets me a latency of about 150us, even after tuning various kernel parameters. We have seen similar behavior with some wifi cards on other systems. I don't have a wifi card in my setup, but there might some other hardware causing problems. Does anyone know if there is another peripheral that could cause problems with RT latency on the Up^2?
Taking a look at the UP^2 block diagram:
I would start to disable a number if components to see what might be causing the blocking calls, though there isn't much.
Maybe try disabling the Realtek NICs over PCIe; but, does PCIe cause blocking in kernel threads?
The GPIO header uses several paths for the FPGA. However, I am not sure it can be completely disabled with the GPIO settings in the bios.
Besides those, there is not much left that are not native to the chipset.
Eric Duncan - UP Evangelist - My thoughts are of my own free will
Answered? Please remember to mark the posted answered to highlight it for future visitors!
-
Hi, I was following the instructions of @machinekoder for upboard squared with exactly the same version of kernel and patch, but I've got the following error on boot:
mmc0: mmc_select_hs200 failed, error -84
mmc0: error -84 whilst initialising MMC card
Also I get the following output of
dmesg
with another, working kernel:mmc0: new HS400 MMC card at address 0001
.I though maybe I didn't enable appropriate drivers in the kernel config, but that wasn't the case. Do you have any ideas of possible reasons of that failure?
I tried with newer kernel (4.19.31) + RT preempt patch (4.19.31-rt18). Kernel boots successfully.
The supported version of kernel is 4.15, but in the repository https://github.com/emutex/ubilinux-kernel I could only find version 4.9.Is there a recent source available?
Best regards, Marcin