Hi all,

it seems that I'm able to reproduce a register (or stack) corruption on
x86.

The problem does not appear when running the Xenomai testsuite
(especially switchtest) without any additional load. Stressing Linux
with stress-ng makes the test fail.

Kernel: 4.19.231-cip68
Xenomai: 3.2.1
Hardware:
 - Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz
 - 32 cores
stress-ng cmdline:
 stress-ng --cpu 16 --io 8 --vm 4 --vm-bytes 128M --fork 8

Any ideas how to debug that? Any additional config options that
could/should be enabled?

Any advice is welcome...

Adding Richard to CC, he mentioned some undiscovered possible stack
corruption as well. As registers are stored on the stack, there might
be a pattern.

dmesg (from one xeno-test run):
[  184.461138] sched: RT throttling activated
[  250.243970] arch/x86/xenomai/ipipe/include/asm/xenomai/fptest.h:43: Warning: 
Linux is compiled to use FPU in kernel-s.
[  250.243970] For this reason, switchtest can not test using FPU in Linux 
kernel-space.
[  250.244148] r1: 2147483648 != 5
[  250.375609] r2: 2147483648 != 5
[  250.394381] r3: 2147483648 != 5
[  250.413155] r4: 2147483648 != 5
[  250.431924] r5: 2147483648 != 5
[  250.450694] r6: 2147483648 != 5
[  250.469466] r7: 2147483648 != 5
[  250.488240] r4: 2147483648 != 5
[  250.507011] r5: 2147483648 != 5
[  250.525784] r6: 2147483648 != 5
[  250.544555] r7: 2147483648 != 5
[  250.563325] r6: 2147483648 != 5
[  250.582097] r7: 2147483648 != 5
[  250.600869] r5: 2147483648 != 5
[  250.619643] r6: 2147483648 != 5
[  250.638412] r7: 2147483648 != 5
[  250.657184] r2: 2147483648 != 5
[  250.675957] r3: 2147483648 != 5
[  250.694728] r4: 2147483648 != 5
[  250.713500] r5: 2147483648 != 5
[  250.732271] r6: 2147483648 != 5
[  250.751043] r7: 2147483648 != 5
[  250.769816] r7: 2147483648 != 5
[  250.788587] r4: 2147483648 != 6
[  250.807360] r5: 2147483648 != 6
[  250.826130] r6: 2147483648 != 6
[  250.844902] r7: 2147483648 != 6
[  250.863675] r6: 2147483648 != 5
[  250.882447] r7: 2147483648 != 5
[  250.901219] r2: 2147483648 != 5
[  250.919990] r3: 2147483648 != 5
[  250.938762] r4: 2147483648 != 5
[  250.957534] r5: 2147483648 != 5
[  250.976305] r6: 2147483648 != 5
[  250.995076] r7: 2147483648 != 5
[  251.013853] r6: 2147483648 != 5
[  251.032621] r7: 2147483648 != 5
[  251.051393] r6: 2147483648 != 6
[  251.070164] r7: 2147483648 != 6
[  251.088935] r7: 2147483648 != 6
[  251.107709] r5: 2147483648 != 6
[  251.126480] r6: 2147483648 != 6
[  251.145252] r7: 2147483648 != 6

Best regards,
Florian

Reply via email to