patchset update for Xenomai/IPIPE's kernel 5.4 porting

Meng, Fino fino.meng at intel.com
Mon Sep 14 18:23:39 CEST 2020



>Sent: Monday, September 14, 2020 11:51 PM
>
>On 14.09.20 17:40, Meng, Fino via Xenomai wrote:
>> Hi all,
>>
>> A updated patchset was updated to this branch:
>> https://github.com/intel/linux-stable-xenomai/tree/review/5.4.59/stabl
>> e/ipipe/xenomai-3.1 this version is more clean than previous, only one
>> more patch for IPIPE part, and one more patch for Xenomai 3.1 part.
>>
>> ....
>> 0150-x86-ipipe-Harden-__speculation_ctrl_update-for-share.patch
>> 0151-x86-ipipe-Let-HAVE_ARCH_JUMP_LABEL-depend-on-IPIPE.patch
>> 0152-drm-i915-gt-rename-setup_irq-to-avoid-compile-confli.patch
>> 0153-xenomai-patch-xenomai-3.1-directly.patch
>> 0154-WIP-xenomai-fix-xenomai-kernel-part-for-kernel-5.4.y.patch
>
>Please make this one ready for upstream, possibly breaking it up into logical chunks. Will help to keep your queue cleanly
>focused on I-pipe.
>
>BTW, commenting out fpu__initialize() is likely problematic. Better make that function available again with the I-pipe patch.

Thanks, didn't notice it yet~ 

>
>> 0155-test-kernel-config-for-xenomai.patch
>>
>> On my test device, boot OK and Xenomai's latency can run, other smokey test may fail.
>>
>
>Does the switchtest explode? That's the first one to expose FPU issues, see above.

It reports error, just captured a log: 

root at mxf07:/opt/xenomai-3.1/bin# ./switchtest --verbose=1
== Testing FPU check routines...
r0: 1 != 2
r1: 1 != 2
r2: 1 != 2
r3: 1 != 2
r4: 1 != 2
r5: 1 != 2
r6: 1 != 2
r7: 1 != 2
ymm0: 1/1 != 2/2
ymm1: 1/1 != 2/2
ymm2: 1/1 != 2/2
ymm3: 1/1 != 2/2
ymm4: 1/1 != 2/2
ymm5: 1/1 != 2/2
ymm6: 1/1 != 2/2
ymm7: 1/1 != 2/2
== FPU check routines: OK.
== Threads: sleeper_ufps0-0 rtk0-1 rtk0-2 rtk_fp0-3 rtk_fp0-4 rtk_fp_ufpp0-5 rtk_fp_ufpp0-6 rtup0-7 rtup0-8 rtup_ufpp0-9 rtup_ufpp0-10 rtus0-11 rtus0-12 rtus_ufps0-13 rtus_ufps0-14 rtuo0-15 rtuo0-16 rtuo_ufpp0-17 rtuo_ufpp0-18 rtuo_ufps0-19 rtuo_ufps0-20 rtuo_ufpp_ufps0-21 rtuo_ufpp_ufps0-22 sleeper_ufps1-0 rtk1-1 rtk1-2 rtk_fp1-3 rtk_fp1-4 rtk_fp_ufpp1-5 rtk_fp_ufpp1-6 rtup1-7 rtup1-8 rtup_ufpp1-9 rtup_ufpp1-10 rtus1-11 rtus1-12 rtus_ufps1-13 rtus_ufps1-14 rtuo1-15 rtuo1-16 rtuo_ufpp1-17 rtuo_ufpp1-18 rtuo_ufps1-19 rtuo_ufps1-20 rtuo_ufpp_ufps1-21 rtuo_ufpp_ufps1-22 sleeper_ufps2-0 rtk2-1 rtk2-2 rtk_fp2-3 rtk_fp2-4 rtk_fp_ufpp2-5 rtk_fp_ufpp2-6 rtup2-7 rtup2-8 rtup_ufpp2-9 rtup_ufpp2-10 rtus2-11 rtus2-12 rtus_ufps2-13 rtus_ufps2-14 rtuo2-15 rtuo2-16 rtuo_ufpp2-17 rtuo_ufpp2-18 rtuo_ufps2-19 rtuo_ufps2-20 rtuo_ufpp_ufps2-21 rtuo_ufpp_ufps2-22 sleeper_ufps3-0 rtk3-1 rtk3-2 rtk_fp3-3 rtk_fp3-4 rtk_fp_ufpp3-5 rtk_fp_ufpp3-6 rtup3-7 rtup3-8 rtup_ufpp3-9 rtup_ufpp3-10 rtus3-11 rtus3-12 rtus_ufps3-13 rtus_ufps3-14 rtuo3-15 rtuo3-16 rtuo_ufpp3-17 rtuo_ufpp3-18 rtuo_ufps3-19 rtuo_ufps3-20 rtuo_ufpp_ufps3-21 rtuo_ufpp_ufps3-22
Error after context switch from task 4(rtk_fp2-4) Error after context switch from task 4(rtk_fp1-4) to task 5(rtk_fp_ufpp1-5),
FPU registers were set to 2147483648 (unidentified task)
RTT|  00:00:00
RTH|---------cpu|ctx switches|-------total
RTD|           0|          15|          15
RTD|           1|          15|          15
RTD|           2|          15|          15
RTD|           3|          15|          15

dmesg's print: 

[  374.890944] arch/x86/xenomai/include/asm/xenomai/fptest.h:43: Warning: Linux is compiled to use FPU in kernel-space.
               For this reason, switchtest can not test using FPU in Linux kernel-space.
[  374.890954] r0: 2147483648 != 5
[  374.892855] r1: 2147483648 != 5
[  374.893269] r2: 2147483648 != 5
[  374.893684] r3: 2147483648 != 5
[  374.894098] r4: 2147483648 != 5
[  374.894523] r5: 2147483648 != 5
[  374.894938] r6: 2147483648 != 5
[  374.895353] r7: 2147483648 != 5
[  374.895767] r0: 2147483648 != 5
[  374.896181] r1: 2147483648 != 5
[  374.896596] r2: 2147483648 != 5
[  374.897010] r3: 2147483648 != 5
[  374.897425] r4: 2147483648 != 5
[  374.897839] r5: 2147483648 != 5
[  374.898254] r6: 2147483648 != 5
...

>
>> A quick guide:
>>
>>      usage:
>>      $cp kernel_config_xenomai .config
>>      $make olddefconfig
>>      $make bindeb-pkg -j16 2>&1 | tee build.log
>>      if build ok, install it over a Debian or Ubuntu on test board,
>>      #dpkg -i  linux-image-*.deb
>>      #reboot
>>
>>      to clean up:
>>      $make distclean
>>
>>      bug:
>>      out of tree build will fail for kernel 5.4, need fix.
>>
>> BR / Fino (孟祥夫)
>> Intel – IOTG Developer Enabling
>>
>
>In any case: great progress!
>
>Jan
>
>--
>Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux


More information about the Xenomai mailing list