Re: [Xenomai-core] kernel threads crash
Okay /Jesper On 2011-04-19 11:30, Philippe Gerum wrote: > On Tue, 2011-04-19 at 11:29 +0200, Philippe Gerum wrote: > >> On Tue, 2011-04-19 at 10:42 +0200, Gilles Chanteperdrix wrote: >> >>> Philippe Gerum wrote: >>> On Tue, 2011-04-19 at 09:58 +0200, Jesper Christensen wrote: > Great thanks, but i can't help wondering if the problems i'm seeing are > related to some of my userspace programs using fp. > I don't think so. The switchtest programs exercises the FPU hardware in a certain way to make sure it is available in real-time mode from kernel space (which is an utterly crappy legacy, but we will have to deal with it until Xenomai 3.x). As far as I can see from your .config, you can't have such support, so switchtest was basically trying to test an inexistent feature. >>> In fact, switchtest whether Xenomai FPU switch routines work when the >>> Linux kernel itself uses FPU in kernel-space. Currently, the only place >>> when this happens is in the RAID code: x86 uses mmx/sse, and some power >>> pcs use altivec. Some powerpc also fix unaligned accesses to floating >>> point data in kernel-space, I do not know if this may interfere, which >>> is why the powerpc code is compiled even without RAID. >>> >>> >>> >> AFAICS, fp_regs_set() on ppc is issuing a load float instruction in >> kernel space which could be unaligned, and therefore trap. Looking at >> the .config for the target system, hw FPU support is disabled in the >> alignment code, so basically, this would beget a nop. >> > A nop in fixing the issue, I mean. > > ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core
Re: [Xenomai-core] kernel threads crash
On Tue, 2011-04-19 at 11:29 +0200, Philippe Gerum wrote: > On Tue, 2011-04-19 at 10:42 +0200, Gilles Chanteperdrix wrote: > > Philippe Gerum wrote: > > > On Tue, 2011-04-19 at 09:58 +0200, Jesper Christensen wrote: > > >> Great thanks, but i can't help wondering if the problems i'm seeing are > > >> related to some of my userspace programs using fp. > > > > > > I don't think so. The switchtest programs exercises the FPU hardware in > > > a certain way to make sure it is available in real-time mode from kernel > > > space (which is an utterly crappy legacy, but we will have to deal with > > > it until Xenomai 3.x). As far as I can see from your .config, you can't > > > have such support, so switchtest was basically trying to test an > > > inexistent feature. > > > > In fact, switchtest whether Xenomai FPU switch routines work when the > > Linux kernel itself uses FPU in kernel-space. Currently, the only place > > when this happens is in the RAID code: x86 uses mmx/sse, and some power > > pcs use altivec. Some powerpc also fix unaligned accesses to floating > > point data in kernel-space, I do not know if this may interfere, which > > is why the powerpc code is compiled even without RAID. > > > > > > AFAICS, fp_regs_set() on ppc is issuing a load float instruction in > kernel space which could be unaligned, and therefore trap. Looking at > the .config for the target system, hw FPU support is disabled in the > alignment code, so basically, this would beget a nop. A nop in fixing the issue, I mean. -- Philippe. ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core
Re: [Xenomai-core] kernel threads crash
On Tue, 2011-04-19 at 10:42 +0200, Gilles Chanteperdrix wrote: > Philippe Gerum wrote: > > On Tue, 2011-04-19 at 09:58 +0200, Jesper Christensen wrote: > >> Great thanks, but i can't help wondering if the problems i'm seeing are > >> related to some of my userspace programs using fp. > > > > I don't think so. The switchtest programs exercises the FPU hardware in > > a certain way to make sure it is available in real-time mode from kernel > > space (which is an utterly crappy legacy, but we will have to deal with > > it until Xenomai 3.x). As far as I can see from your .config, you can't > > have such support, so switchtest was basically trying to test an > > inexistent feature. > > In fact, switchtest whether Xenomai FPU switch routines work when the > Linux kernel itself uses FPU in kernel-space. Currently, the only place > when this happens is in the RAID code: x86 uses mmx/sse, and some power > pcs use altivec. Some powerpc also fix unaligned accesses to floating > point data in kernel-space, I do not know if this may interfere, which > is why the powerpc code is compiled even without RAID. > > AFAICS, fp_regs_set() on ppc is issuing a load float instruction in kernel space which could be unaligned, and therefore trap. Looking at the .config for the target system, hw FPU support is disabled in the alignment code, so basically, this would beget a nop. -- Philippe. ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core
Re: [Xenomai-core] kernel threads crash
Philippe Gerum wrote: > On Tue, 2011-04-19 at 09:58 +0200, Jesper Christensen wrote: >> Great thanks, but i can't help wondering if the problems i'm seeing are >> related to some of my userspace programs using fp. > > I don't think so. The switchtest programs exercises the FPU hardware in > a certain way to make sure it is available in real-time mode from kernel > space (which is an utterly crappy legacy, but we will have to deal with > it until Xenomai 3.x). As far as I can see from your .config, you can't > have such support, so switchtest was basically trying to test an > inexistent feature. In fact, switchtest whether Xenomai FPU switch routines work when the Linux kernel itself uses FPU in kernel-space. Currently, the only place when this happens is in the RAID code: x86 uses mmx/sse, and some power pcs use altivec. Some powerpc also fix unaligned accesses to floating point data in kernel-space, I do not know if this may interfere, which is why the powerpc code is compiled even without RAID. -- Gilles. ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core
Re: [Xenomai-core] kernel threads crash
On Tue, 2011-04-19 at 09:58 +0200, Jesper Christensen wrote: > Great thanks, but i can't help wondering if the problems i'm seeing are > related to some of my userspace programs using fp. I don't think so. The switchtest programs exercises the FPU hardware in a certain way to make sure it is available in real-time mode from kernel space (which is an utterly crappy legacy, but we will have to deal with it until Xenomai 3.x). As far as I can see from your .config, you can't have such support, so switchtest was basically trying to test an inexistent feature. > > /Jesper > > > On 2011-04-19 09:39, Philippe Gerum wrote: > > On Tue, 2011-04-19 at 09:26 +0200, Jesper Christensen wrote: > > > >> If i run switchtest i get the following output: > >> > >> > > > > If still talking about the cpci6200, this patch should apply: > > http://git.xenomai.org/?p=xenomai-rpm.git;a=commit;h=3d6fa118ef282c60dfeb0e690a579e8357bb7d13 > > > > > >> [root@slot6 /bin]# switchtest > >> == 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 > >> r8: 1 != 2 > >> r9: 1 != 2 > >> r10: 1 != 2 > >> r11: 1 != 2 > >> r12: 1 != 2 > >> r13: 1 != 2 > >> r14: 1 != 2 > >> r15: 1 != 2 > >> r16: 1 != 2 > >> r17: 1 != 2 > >> r18: 1 != 2 > >> r19: 1 != 2 > >> r20: 1 != 2 > >> r21: 1 != 2 > >> r22: 1 != 2 > >> r23: 1 != 2 > >> r24: 1 != 2 > >> r25: 1 != 2 > >> r26: 1 != 2 > >> r27: 1 != 2 > >> r28: 1 != 2 > >> r29: 1 != 2 > >> r30: 1 != 2 > >> r31: 1 != 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 > >> > >> > >> > >> And then it halts. dmesg shows: > >> > >> Xenomai: suspending kernel thread ae819678 ('rtk5/0') at nip=0x80319aa0, > >> lr=0x80319a70, r1=0xafa90510 after exception #1792 > >> > >> > >> switchtest -n runs normally, should i use some sort of soft float flag > >> in my compilations? > >> > >> /Jesper > >> > >> > >> > >> > >> ___ > >> Xenomai-core mailing list > >> Xenomai-core@gna.org > >> https://mail.gna.org/listinfo/xenomai-core > >> > > > -- Philippe. ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core
Re: [Xenomai-core] kernel threads crash
Great thanks, but i can't help wondering if the problems i'm seeing are related to some of my userspace programs using fp. /Jesper On 2011-04-19 09:39, Philippe Gerum wrote: > On Tue, 2011-04-19 at 09:26 +0200, Jesper Christensen wrote: > >> If i run switchtest i get the following output: >> >> > > If still talking about the cpci6200, this patch should apply: > http://git.xenomai.org/?p=xenomai-rpm.git;a=commit;h=3d6fa118ef282c60dfeb0e690a579e8357bb7d13 > > >> [root@slot6 /bin]# switchtest >> == 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 >> r8: 1 != 2 >> r9: 1 != 2 >> r10: 1 != 2 >> r11: 1 != 2 >> r12: 1 != 2 >> r13: 1 != 2 >> r14: 1 != 2 >> r15: 1 != 2 >> r16: 1 != 2 >> r17: 1 != 2 >> r18: 1 != 2 >> r19: 1 != 2 >> r20: 1 != 2 >> r21: 1 != 2 >> r22: 1 != 2 >> r23: 1 != 2 >> r24: 1 != 2 >> r25: 1 != 2 >> r26: 1 != 2 >> r27: 1 != 2 >> r28: 1 != 2 >> r29: 1 != 2 >> r30: 1 != 2 >> r31: 1 != 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 >> >> >> >> And then it halts. dmesg shows: >> >> Xenomai: suspending kernel thread ae819678 ('rtk5/0') at nip=0x80319aa0, >> lr=0x80319a70, r1=0xafa90510 after exception #1792 >> >> >> switchtest -n runs normally, should i use some sort of soft float flag >> in my compilations? >> >> /Jesper >> >> >> >> >> ___ >> Xenomai-core mailing list >> Xenomai-core@gna.org >> https://mail.gna.org/listinfo/xenomai-core >> > ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core
Re: [Xenomai-core] kernel threads crash
On Tue, 2011-04-19 at 09:26 +0200, Jesper Christensen wrote: > If i run switchtest i get the following output: > If still talking about the cpci6200, this patch should apply: http://git.xenomai.org/?p=xenomai-rpm.git;a=commit;h=3d6fa118ef282c60dfeb0e690a579e8357bb7d13 > [root@slot6 /bin]# switchtest > == 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 > r8: 1 != 2 > r9: 1 != 2 > r10: 1 != 2 > r11: 1 != 2 > r12: 1 != 2 > r13: 1 != 2 > r14: 1 != 2 > r15: 1 != 2 > r16: 1 != 2 > r17: 1 != 2 > r18: 1 != 2 > r19: 1 != 2 > r20: 1 != 2 > r21: 1 != 2 > r22: 1 != 2 > r23: 1 != 2 > r24: 1 != 2 > r25: 1 != 2 > r26: 1 != 2 > r27: 1 != 2 > r28: 1 != 2 > r29: 1 != 2 > r30: 1 != 2 > r31: 1 != 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 > > > > And then it halts. dmesg shows: > > Xenomai: suspending kernel thread ae819678 ('rtk5/0') at nip=0x80319aa0, > lr=0x80319a70, r1=0xafa90510 after exception #1792 > > > switchtest -n runs normally, should i use some sort of soft float flag > in my compilations? > > /Jesper > > > > > ___ > Xenomai-core mailing list > Xenomai-core@gna.org > https://mail.gna.org/listinfo/xenomai-core -- Philippe. ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core
[Xenomai-core] kernel threads crash
If i run switchtest i get the following output: [root@slot6 /bin]# switchtest == 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 r8: 1 != 2 r9: 1 != 2 r10: 1 != 2 r11: 1 != 2 r12: 1 != 2 r13: 1 != 2 r14: 1 != 2 r15: 1 != 2 r16: 1 != 2 r17: 1 != 2 r18: 1 != 2 r19: 1 != 2 r20: 1 != 2 r21: 1 != 2 r22: 1 != 2 r23: 1 != 2 r24: 1 != 2 r25: 1 != 2 r26: 1 != 2 r27: 1 != 2 r28: 1 != 2 r29: 1 != 2 r30: 1 != 2 r31: 1 != 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 And then it halts. dmesg shows: Xenomai: suspending kernel thread ae819678 ('rtk5/0') at nip=0x80319aa0, lr=0x80319a70, r1=0xafa90510 after exception #1792 switchtest -n runs normally, should i use some sort of soft float flag in my compilations? /Jesper ___ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core