Re: rtmutex assert failure (was [Patch] restore the RCU callback...)

From: hui
Date: Sat Aug 26 2006 - 06:28:56 EST


On Fri, Aug 25, 2006 at 06:24:29PM -0700, Robert Crocombe wrote:
> On 8/25/06, hui Bill Huey <billh@xxxxxxxxxxxxxxxxx> wrote:
> > http://mmlinux.sourceforge.net/public/against-2.6.17-rt8-2.diff
> BUG: scheduling while atomic: make/0x00000001/14632
>
> Call Trace:
> <ffffffff802fbc2e>{plist_check_head+60}
> <ffffffff8025d2eb>{__schedule+155}
> <ffffffff8028f06a>{task_blocks_on_rt_mutex+643}
> <ffffffff8020efda>{__mod_page_state_offset+25}
> <ffffffff802871de>{find_task_by_pid_type+24}
> <ffffffff8020efda>{__mod_page_state_offset+25}
> <ffffffff8025dad7>{schedule+236}
> <ffffffff8025e96d>{rt_lock_slowlock+416}
> <ffffffff8025f4b8>{rt_lock+13}
> <ffffffff8020efda>{__mod_page_state_offset+25}
> <ffffffff8029ab91>{__free_pages_ok+336}
> <ffffffff8022c07e>{__free_pages+47}
> <ffffffff80233bb0>{free_pages+128}
> <ffffffff802580df>{free_task+26}
> <ffffffff80245b52>{__put_task_struct+182}
> <ffffffff8025d86e>{thread_return+163}
> <ffffffff8025dad7>{schedule+236}
> <ffffffff80245ff1>{pipe_wait+111}
> <ffffffff802893ac>{autoremove_wake_function+0}
> <ffffffff8025e7c8>{rt_mutex_lock+50}
> <ffffffff8022ce81>{pipe_readv+785}
> <ffffffff8025eaa6>{rt_lock_slowunlock+98}
> <ffffffff8025f4a9>{__lock_text_start+9}
> <ffffffff802aea38>{pipe_read+30}
> <ffffffff8020afae>{vfs_read+171}
> <ffffffff8020fdbc>{sys_read+71}
> <ffffffff8025994e>{system_call+126}
> ---------------------------
> | preempt count: 00000001 ]
> | 1-level deep critical section nesting:
> ----------------------------------------
> .. [<ffffffff8025d303>] .... __schedule+0xb3/0x57b
> .....[<ffffffff8025dad7>] .. ( <= schedule+0xec/0x11a)

Things like this make me wonder if you're even appying the patch correctly.

The occurance of free_task() and friends should be completely gone. All
of those scheduling in atomics should be flat out kernel panics and the
kernel should immediately stop. I'll look at it again to see if missed a
compile options or something, but this is really odd cause it should stop
the kernel dead in its tracks.

bill

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/