Re: 2.6.18-rc2-mm1

Michal Piotrowski
2006-07-29T23:38:51Z

Hi,

On 30/07/06, Shailabh Nagar <nagar@watson.ibm.com> wrote:
> Matt Helsley wrote:
> > On Fri, 2006-07-28 at 21:53 +0200, Michal Piotrowski wrote:
> >
> >>On 28/07/06, Matt Helsley <matthltc@us.ibm.com> wrote:
> >>
> >>>On Fri, 2006-07-28 at 01:34 -0700, Andrew Morton wrote:
> >>>
> >>>>On Fri, 28 Jul 2006 10:17:44 +0200
> >>>>"Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote:
> >>>>
> >>>>
> >>>>>Matt, can you look at this?
> >>>>>
> >>>>>My hunt file shows me, that this patches are causing oops.
> >>>>>GOOD
> >>>>>#
> >>>>>#
> >>>>>task-watchers-task-watchers.patch
> >>>>>task-watchers-register-process-events-task-watcher.patch
> >>>>>task-watchers-refactor-process-events.patch
> >>>>>task-watchers-make-process-events-configurable-as.patch
> >>>>>task-watchers-allow-task-watchers-to-block.patch
> >>>>>task-watchers-register-audit-task-watcher.patch
> >>>>>task-watchers-register-per-task-delay-accounting.patch
> >>>>>task-watchers-register-profile-as-a-task-watcher.patch
> >>>>>task-watchers-add-support-for-per-task-watchers.patch
> >>>>>task-watchers-register-semundo-task-watcher.patch
> >>>>>task-watchers-register-per-task-semundo-watcher.patch
> >>>>>BAD
> >>>>
> >>>>Thanks for working that out.
> >>>
> >>> I noticed the delay accounting functions in the stack trace. Perhaps
> >>>task-watchers-register-per-task-delay-accounting.patch is causing the
> >>>problem.
> >>
> >>Confirmed.
> >
> >
> > Excellent, thanks for the rapid confirmation. I'll work with Shailabh
> > and Balbir to fix this. In the meantime perhaps
> > task-watchers-register-per-task-delay-accounting.patch should be dropped
> > from -mm.
> >
> > Cheers,
> > -Matt Helsley
> >
>
>
> The error is almost certainly because delayacct_tsk_init is being
> called at WATCH_TASK_CLONE (which is triggered after the task has been
> added to the tasklist) rather than WATCH_INIT (before).
>
> __delayacct_tsk_init, which gets notified by WATCH_TASK_* initializes
> the spinlock tsk->delays_lock which could get used as soon as task is
> present in tasklist. The lockup is very likely due to use of this
> uninitialized spinlock.
>
> So the fix should be to change WATCH_TASK_CLONE to WATCH_TASK_INIT
> in the delayacct_watch_task function created by this patch.

Problem solved. Thanks.

>
> --Shailabh
>

Regards,
Michal

--
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)