Building armstrong-qt5-x11-image with linux-toradex-rt does not enable PREEMPT-RT

Hello everyone,

When building the angstrom-qt5-x11-image with PREFERRED_PROVIDER_virtual/kernel = “linux-toradex-rt” enabled, it does not apply the rt patch correctly. When running ‘uname -a’ it gives:

Linux colibri-imx7-emmc 4.9.84-rt62-2.8.2+gb2a7f2f #1 SMP

without PREEMPT-RT as is seen in the example here Real-Time Linux | Toradex Developer Center .

When running cyclictest no improvement is seen in the latency either.

Is there something i’m forgetting or is something wrong with this patch?

Hm, that sounds as if the defconfig has not been applied.

Can you check zcat /proc/config.gz | grep PREEMPT and make sure that the defconfig for preemt RT was present during build (in meta-toradex-nxp/recipes-kernel/linux/linux-toradex-rt-4.9-1.0.x/mx7/defconfig).

Zcat gives the following:

CONFIG_HAVE_PREEMPT_LAZY=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT__LL is not set
# CONFIG_PREEMPT_RTB is not set
# CONFIG_PREEMPT_RT_FULL is not set

It looks like the defconfig is indeed not applied for some reason. I checked and the defconfig is present in the correct folder, and contains the line: CONFIG_PREEMPT_RT_FULL=y

Could it be a problem that i’m using colibri-imx7-emmc as machine?

There is a bug in the current linux-toradex-rt recipe which prevents bitbake to pickup the correct defconfig. I fixed the recipe and pushed the fix to the rocko-next tree of the meta-toradex-nxp layer. Updating the layer and rebuilding the image should solve the issue.

Thanks for the fix! After some cleaning and rebuilding it finally works now.

You are welcome. Thanks for the feedback.