Messages in this thread | | | Date | Mon, 28 Aug 2006 13:28:27 -0700 | Subject | Re: rtmutex assert failure (was [Patch] restore the RCU callback...) | From | Bill Huey (hui) <> |
| |
[...resend...]
On Mon, Aug 28, 2006 at 11:33:59AM -0700, Robert Crocombe wrote: > On 8/26/06, hui Bill Huey <billh@gnuppy.monkey.org> wrote: > >The function __put_task_struct() should never show up a stack trace > >EVER. That function has been rename under all things > >CONFIG_PREEMPT_RT > >under my addendum patches. That's why I'm starting to think it's your > >build environment or you're miss applying the patches. > > but is it used? ... > +void fastcall __put_task_struct(struct task_struct *task) > +{ > + struct list_head *head; > + > + head = &get_cpu_var(delayed_put_task_struct_list); > + list_add_tail(&task->delayed_drop, head); > + > + _wake_cpu_desched_task(); > + > + put_cpu_var(delayed_put_task_struct_list); > +} > +#endif > + > > So I think you're mistaken. Patch is applied like this:
The patch is applied correctly.
This is what I'm having a problem with in your stack trace...
I was unclear in explain that __put_task_struct() should never appear with free_task() in a stack trace as you can clearly see from the implementation. All it's suppose to do is wake a thread, so "how?" you're getting those things simultaneously in the stack trace is completely baffling to me. Could you double check to see if it's booting the right kernel ? maybe make sure that's calling that version of the function with printks or something ?
bill
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |