Re: 2.6.33.1-rt11 BUG: sleeping function called from invalid context at kernel/rtmutex.c:684

Udo van den Heuvel
2010-04-06T13:34:32Z

Hallo Thomas,

On 2010-04-06 10:07, Thomas Gleixner wrote:
> On Sun, 4 Apr 2010, Udo van den Heuvel wrote:
>> I see a load of these after booting into 2.6.33.1-rt11:
>>
>> BUG: sleeping function called from invalid context at kernel/rtmutex.c:684
>> pcnt: 1 0 in_atomic(): 1, irqs_disabled(): 0, pid: 1507, name: md1_raid5
>> Pid: 1507, comm: md1_raid5 Not tainted 2.6.33.1-rt11 #1
>> Call Trace:
>> [<ffffffff8138fb8c>] ? rt_spin_lock+0x2c/0x70
>> [<ffffffff812becc4>] ? __raid_run_ops+0x304/0xc60
>> [<ffffffff812c0ccd>] ? handle_stripe+0x6bd/0x1a70
>> [<ffffffff8104b460>] ? mod_timer+0x150/0x200
>> [<ffffffff812c23f6>] ? raid5d+0x376/0x4f0
>> [<ffffffff8138e5bd>] ? schedule_timeout+0x22d/0x2b0
>> [<ffffffff8138fb8c>] ? rt_spin_lock+0x2c/0x70
>> [<ffffffff812cd0f3>] ? md_thread+0x53/0x120
>> [<ffffffff810573a0>] ? autoremove_wake_function+0x0/0x30
>> [<ffffffff812cd0a0>] ? md_thread+0x0/0x120
>> [<ffffffff81057016>] ? kthread+0x96/0xa0
>> [<ffffffff81037908>] ? finish_task_switch+0x58/0xd0
>> [<ffffffff810032d4>] ? kernel_thread_helper+0x4/0x10
>> [<ffffffff81056f80>] ? kthread+0x0/0xa0
>> [<ffffffff810032d0>] ? kernel_thread_helper+0x0/0x10
>>
>> As these appear to be touching my raid array I am quite eager to learn
>> how I can fix the BUGs.
>>
>> Please have a look and explain.
>
> That's caused by the get_cpu()/put_cpu() preempt disabled region. Can
> you try the following (untested) patch ?

After applying, compilign and rebooting the BUG-messages appear to be
gone (after a quick test).
Thanks!

Only issue remaining is this message:

Apr 6 15:25:02 nawdew rtkit-daemon[3484]: Failed to make ourselves RT:
Operation not permitted
(repeated a number of times)

Is this also -rt related?

Kind regards,
Udo