[#4865] Xenomai latency test trips BUGs when CONFIG_PREEMPT set
Submitted By: Michael McTernan
Open Date
2009-02-06 15:08:42
Priority:
Medium Assignee:
Aaron Wu
Status:
Open Fixed In Release:
N/A
Found In Release:
2008R1.5-RC3 Release:
2008R1.5
Category:
Kernel Functions Board:
Custom
Processor:
BF537 Silicon Revision:
BF537-0.3
Is this bug repeatable?:
Yes Resolution:
Assigned (Not Start)
Uboot version or rev.:
uBoot Toolchain version or rev.:
2008R1.5
App binary format:
N/A
Summary: Xenomai latency test trips BUGs when CONFIG_PREEMPT set
Details:
The config items that make this happen are:
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
PREEMPT_BKL on or off has no effect.
The kernel is patched with the Blackfin Xenomai patch, and the user tests compiled in.
Running the 'latency' test causes a BUG() roughly for each line of output the test displays. The output from the bugs is very similar in each case, and like this:
BUG: scheduling while atomic: display-140/0x00000001/142
Hardware Trace:
0 Target : <0x000049ac> { _dump_stack + 0x0 }
Source : <0xffa01dd4> { _schedule + 0x760 }
1 Target : <0xffa01dca> { _schedule + 0x756 }
Source : <0x0000e76a> { _printk + 0x5a }
2 Target : <0x0000e760> { _printk + 0x50 }
Source : <0x0000e5c0> { _vprintk + 0x214 }
3 Target : <0x0000e5b4> { _vprintk + 0x208 }
Source : <0x0000e6a0> { _vprintk + 0x2f4 }
4 Target : <0x0000e6a0> { _vprintk + 0x2f4 }
Source : <0x0013ed52> { _preempt_schedule + 0x2a }
5 Target : <0x0013ed4c> { _preempt_schedule + 0x24 }
Source : <0x0013ed3c> { _preempt_schedule + 0x14 }
6 Target : <0x0013ed28> { _preempt_schedule + 0x0 }
Source : <0x0000e69c> { _vprintk + 0x2f0 }
7 Target : <0x0000e69c> { _vprintk + 0x2f0 }
Source : <0x0000e5b2> { _vprintk + 0x206 }
8 Target : <0x0000e5a0> { _vprintk + 0x1f4 }
Source : <0x0002f0cc> { ___ipipe_unstall_root + 0x40 }
9 Target : <0x0002f0bc> { ___ipipe_unstall_root + 0x30 }
Source : <0x0002f110> { ___ipipe_unstall_root + 0x84 }
10 Target : <0x0002f110> { ___ipipe_unstall_root + 0x84 }
Source : <0x0002eb50> { ___ipipe_sync_stage + 0xb4 }
11 Target : <0x0002eb42> { ___ipipe_sync_stage + 0xa6 }
Source : <0x0002eb30> { ___ipipe_sync_stage + 0x94 }
12 Target : <0x0002eb0e> { ___ipipe_sync_stage + 0x72 }
Source : <0x0002eca6> { ___ipipe_sync_stage + 0x20a }
13 Target : <0x0002ec98> { ___ipipe_sync_stage + 0x1fc }
Source : <0x0002ed40> { ___ipipe_sync_stage + 0x2a4 }
14 Target : <0x0002ed36> { ___ipipe_sync_stage + 0x29a }
Source : <0x0002ed56> { ___ipipe_sync_stage + 0x2ba }
15 Target : <0x0002ed56> { ___ipipe_sync_stage + 0x2ba }
Source : <0x0000b84e> { _try_to_wake_up + 0x46 }
Stack from 001ede18:
ffa01dca ffa01dd8 079c061c 007d0124 000396d6 00000000 07992eec 00000001
0000008e 001ede74 0000af88 001ec000 007d0124 007d009c 00000000 00100000
00000100 0000af90 0019cd60 000396d6 079c061c 007d0124 007d009c 001ec000
00100000 00000100 00000008 00000000 00000000 00000000 000397d4 001edf24
007d00a4 00000006 00000000 00000100 007ccde4 0002f81c 007ccde0 007ccde4
007ccde0 00100000 00100000 00000000 0000ffff 00000000 80000000 00000000
Call Trace:
[<00008230>] ___ipipe_syscall_root+0x40/0x108
[<00004455>] _decode_address+0x1f5/0x244
[<00008000>] ___ipipe_handle_irq+0x120/0x13c
[<00002000>] _get_cclk+0x18/0x68
[<00004455>] _decode_address+0x1f5/0x244
This does not happen with CONFIG_PREEMPT_VOLUNTARY.
Follow-ups
No Messages Were Found
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
No Files Were Found