2011/4/27 Philippe Gerum <r...@xenomai.org>:
> On Wed, 2011-04-27 at 20:42 +0200, Jean-Michel Hautbois wrote:
>> Hi list,
>>
>> I am currently using a Xenomai port on a linux 2.6.35.11 linux kernel
>> and the adeos-ipipe-2.6.35.7-powerpc-2.12-01.patch.
>> I am facing a scheduling issue on a P2020 (dual core PowerPC), and I
>> get the following message :
>>
>> Badness at arch/powerpc/mm/mmu_context_nohash.c:209
>> NIP: c0018d20 LR: c039b94c CTR: c00343e4
>> REGS: ecfadce0 TRAP: 0700   Tainted: G        W    (2.6.35.11)
>> MSR: 00021000 <ME,CE>  CR: 24000488  XER: 00000000
>> TASK = ec5220d0[496] 'sipaq' THREAD: ecfac000 CPU: 1
>> GPR00: 00000001 ecfadd90 ec5220d0 ec5df340 ec58a700 00000000 ffffffff 
>> 00000003
>> GPR08: c04a2d98 00000007 c04a2d98 0067e000 0002f385 1007f1f8 c04a5b40 
>> ecfac040
>> GPR16: c04a5b40 c04deb80 c04a2120 c04a2d98 c04a5b40 c04d008c ecfac000 
>> 00029000
>> GPR24: c04d0000 c04d1e6c 00000001 ec58a700 eceaf390 c04d1e78 c0b23b40 
>> ec5df340
>> NIP [c0018d20] switch_mmu_context+0x80/0x438
>> LR [c039b94c] schedule+0x774/0x7dc
>> Call Trace:
>> [ecfadd90] [44000484] 0x44000484 (unreliable)
>> [ecfadde0] [c039b94c] schedule+0x774/0x7dc
>> [ecfade50] [c039cb98] do_nanosleep+0xc8/0x114
>> [ecfade80] [c0059bf8] hrtimer_nanosleep+0xd8/0x158
>> [ecfadf10] [c0059d48] sys_nanosleep+0xd0/0xd4
>> [ecfadf40] [c0013c0c] ret_from_syscall+0x0/0x3c
>> --- Exception: c01 at 0xffa6cc4
>>    LR = 0xffa6cb0
>> Instruction dump:
>> 40a2fff0 4c00012c 2f800000 409e0128 813b018c 2f830000 39290001 913b018c
>> 419e0020 8003018c 7c000034 5400d97e <0f000000> 8123018c 3929ffff 9123018c
>>
>> Do you have a clue on how to start debugging it ?
>
> Yes, but that can't be easily summarized here. In short, we have a
> serious problem with the sharing of the MMU context between the Linux
> and Xenomai schedulers in the SMP case on powerpc.

OK, good to know that it is a known issue. If there is a thread with
some thoughts about it, I am interested ;).

>> It is happening quite randomly... :).
>
> Does disabling CONFIG_XENO_HW_UNLOCKED_SWITCH clear this issue?
>

Well, yes and no. It starts well, but when booting the kernel I get :

Badness at kernel/lockdep.c:2327
NIP: c006e554 LR: c006e53c CTR: 000186a0
REGS: effe9e00 TRAP: 0700   Not tainted  (2.6.35.11)
MSR: 00021000 <ME,CE>  CR: 24242022  XER: 00000000
TASK = c0508398[0] 'swapper' THREAD: c052e000 CPU: 0
GPR00: 00000000 effe9eb0 c0508398 00000001 80021000 ea000050 00000060 00000003
GPR08: c0501e80 c0530000 c0510000 00000001 44242028 100488d8 3ff91200 00000000
GPR16: 00000000 3ff85950 3ff85950 3ffb1254 c0a446e0 c0a44700 c0530000 c0a44704
GPR24: c0537084 00000010 00000000 c0539838 80029000 c001444c c0530000 c0508398
NIP [c006e554] trace_hardirqs_on_caller+0x148/0x18c
LR [c006e53c] trace_hardirqs_on_caller+0x130/0x18c
Call Trace:
[effe9eb0] [c006e50c] trace_hardirqs_on_caller+0x100/0x18c (unreliable)
[effe9ed0] [c001444c] restore+0x10/0x64
[effe9f90] [00000010] 0x10
[effe9fb0] [c001c568] mpic_unmask_irq+0x84/0xb8
[effe9fd0] [c00816f4] handle_fasteoi_irq+0xe4/0x138
[effe9ff0] [c0013628] call_handle_irq+0x18/0x28
[c052fdc0] [c0004fe0] handle_one_irq+0x94/0x100
[c052fde0] [c000b120] __ipipe_do_IRQ+0x78/0xa8
[c052fe10] [c0085234] __ipipe_sync_stage+0x1b0/0x33c
[c052fe50] [c000a404] __ipipe_handle_irq+0x20c/0x260
[c052fe90] [c000a614] __ipipe_grab_irq+0x4c/0x188
[c052fec0] [c0014a60] __ipipe_ret_from_except+0x0/0xc
[c052ff80] [c0009224] cpu_idle+0x64/0xe0
[c052ffa0] [c000234c] rest_init+0xd0/0xe4
[c052ffc0] [c04c9ae0] start_kernel+0x2b0/0x348
[c052fff0] [c00003c4] skpinv+0x2dc/0x318
Instruction dump:
2f800000 409eff5c 800205d8 2f800000 419eff50 481b8281 2f830000 41beff00
3d20c053 8009732c 2f800000 40befef0 <0fe00000> 4bfffee8 7fe3fb78 38800001

And after starting my applications, it gets really bad :

Badness at arch/powerpc/mm/mmu_context_nohash.c:209
NIP: c0017958 LR: c039f560 CTR: c00347f8
REGS: ed38bdd0 TRAP: 0700   Tainted: G        W    (2.6.35.11)
MSR: 00021000 <ME,CE>  CR: 24000828  XER: 00000000
TASK = ecb2c260[405] 'ethctl' THREAD: ed38a000 CPU: 1
GPR00: 00000001 ed38be80 ecb2c260 ec70f200 ec89a200 00000025 c161ccc0 00000003
GPR08: ec7fb000 00000001 ec89a3c0 c0520000 0002a106 101110d0 c04e9cc0 c04e9cc0
GPR16: c04e9cc0 c04e9cc0 c04e92e0 c04e9cc0 ed38a000 c051b084 c051b084 c04e9cc0
GPR24: ecb2c4d0 c0519b2c 00000001 c04e92e0 c161ccc0 ecb2c260 ec89a200 ec70f200
NIP [c0017958] switch_mmu_context+0x54/0x3d8
LR [c039f560] schedule+0x780/0x824
Call Trace:
[ed38be80] [24000822] 0x24000822 (unreliable)
[ed38bed0] [c039f560] schedule+0x780/0x824
[ed38bf40] [c00133c0] recheck+0x0/0x24
Instruction dump:
7f49b02e 7c0000a6 54008ffe 0f000000 812401c8 2f830000 39290001 912401c8
419e0020 800301c8 7c000034 5400d97e <0f000000> 812301c8 3929ffff 912301c8
------------[ cut here ]------------
Badness at arch/powerpc/mm/mmu_context_nohash.c:209
NIP: c0017958 LR: c039f560 CTR: c0034a20
REGS: ed38bdd0 TRAP: 0700   Tainted: G        W    (2.6.35.11)
MSR: 00021000 <ME,CE>  CR: 24000888  XER: 00000000
TASK = ecb2c260[405] 'ethctl' THREAD: ed38a000 CPU: 1
GPR00: 00000001 ed38be80 ecb2c260 ec70f200 ec70e600 00000025 c161ccc0 00000003
GPR08: ec7f6000 00000001 ec70e7c0 c0520000 0002a134 101110d0 c04e9cc0 c04e9cc0
GPR16: c04e9cc0 c04e9cc0 c04e92e0 c04e9cc0 ed38a000 c051b084 c051b084 c04e9cc0
GPR24: ecb2c4d0 c0519b2c 00000001 c04e92e0 c161ccc0 ecb2c260 ec70e600 ec70f200
NIP [c0017958] switch_mmu_context+0x54/0x3d8
LR [c039f560] schedule+0x780/0x824
Call Trace:
[ed38be80] [c020984c] plist_check_list+0x24/0x60 (unreliable)
[ed38bed0] [c039f560] schedule+0x780/0x824
[ed38bf40] [c00133c0] recheck+0x0/0x24
--- Exception: c01 at 0xfdcfa28
   LR = 0xfdcfa14
Instruction dump:
7f49b02e 7c0000a6 54008ffe 0f000000 812401c8 2f830000 39290001 912401c8
419e0020 800301c8 7c000034 5400d97e <0f000000> 812301c8 3929ffff 912301c8
------------[ cut here ]------------
Badness at arch/powerpc/mm/mmu_context_nohash.c:209
NIP: c0017958 LR: c039f560 CTR: c002808c
REGS: ec051e30 TRAP: 0700   Tainted: G        W    (2.6.35.11)
MSR: 00021000 <ME,CE>  CR: 24000028  XER: 00000000
TASK = ec041620[0] 'swapper' THREAD: ec050000 CPU: 1
GPR00: 00000001 ec051ee0 ec041620 ec70f200 ec70ec00 00000025 c161ccc0 00000003
GPR08: ec9d1000 00000001 ec70edc0 c0520000 0002a13b 00000000 c04e9cc0 c04e9cc0
GPR16: c04e9cc0 c04e9cc0 c04e92e0 c04e9cc0 ec050000 c051b084 c051b084 c04e9cc0
GPR24: ec041890 c0519b2c 00000001 c04e92e0 c161ccc0 ec041620 ec70ec00 ec70f200
NIP [c0017958] switch_mmu_context+0x54/0x3d8
LR [c039f560] schedule+0x780/0x824
Call Trace:
[ec051ee0] [24000022] 0x24000022 (unreliable)
[ec051f30] [c039f560] schedule+0x780/0x824
[ec051fa0] [c0008b40] cpu_idle+0xd0/0xe0
[ec051fc0] [c04d1cbc] start_secondary+0x2a4/0x364
[ec051ff0] [c0001ca0] __secondary_start+0x30/0x84
Instruction dump:
7f49b02e 7c0000a6 54008ffe 0f000000 812401c8 2f830000 39290001 nstruction dump:
7f49b02e 7c0000a6 54008ffe 0f000000 812401c8 2f830000 39290001 912401c8
419e0020 800301c8 7c000034 5400d97e <0f000000> 812301c8 3929ffff 912301c8
------------[ cut here ]------------
Badness at arch/powerpc/mm/mmu_context_nohash.c:209
NIP: c0017958 LR: c039f560 CTR: c0034a20
REGS: ec051e30 TRAP: 0700   Tainted: G        W    (2.6.35.11)
MSR: 00021000 <ME,CE>  CR: 24000028  XER: 00000000
TASK = ec041620[0] 'swapper' THREAD: ec050000 CPU: 1
GPR00: 00000001 ec051ee0 ec041620 ec70f200 ec70e600 00000025 c161ccc0 00000003
GPR08: ec7f6000 00000001 ec70e7c0 c0520000 0002a40f 00000000 c04e9cc0 c04e9cc0
GPR16: c04e9cc0 c04e9cc0 c04e92e0 c04e9cc0 ec050000 c051b084 c051b084 c04e9cc0
GPR24: ec041890 c0519b2c 00000001 c04e92e0 c161ccc0 ec041620 ec70e600 ec70f200
NIP [c0017958] switch_mmu_context+0x54/0x3d8
LR [c039f560] schedule+0x780/0x824
Call Trace:
[ec051ee0] [c020984c] plist_check_list+0x24/0x60 (unreliable)
[ec051f30] [c039f560] schedule+0x780/0x824
[ec051fa0] [c0008b40] cpu_idle+0xd0/0xe0
[ec051fc0] [c04d1cbc] start_secondary+0x2a4/0x364
[ec051ff0] [c0001ca0] __secondary_start+0x30/0x84
Instruction dump:
7f49b02e 7c0000a6 54008ffe 0f000000 812401c8 2f830000 39290001 912401c8
419e0020 800301c8 7c000034 5400d97e <0f000000> 812301c8 3929ffff 912301c8


And it continues, again and again, only a reset can stop it :).

JM

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to