Re: [PATCH 2.6.27-rc5 incremental re-resubmit] Fix itimer/manythread hang.

From: Frank Mayhar
Date: Tue Sep 30 2008 - 12:37:35 EST


On Tue, 2008-09-30 at 08:33 +0200, Ingo Molnar wrote:
> * Frank Mayhar <fmayhar@xxxxxxxxxx> wrote:
>
> > /*
> > * Return any ns on the sched_clock that have not yet been banked in
> > * @p in case that task is currently running.
> > - *
> > - * Called with task_rq_lock() held on @rq.
> > */
> > -static unsigned long long task_delta_exec(struct task_struct *p, struct rq *rq)
> > +unsigned long long task_delta_exec(struct task_struct *p)
> > {
> > + struct rq *rq;
> > + unsigned long flags;
> > + u64 ns = 0;
> > +
> > if (task_current(rq, p)) {
> > u64 delta_exec;
>
> hmmm ... where do we get 'rq' from?
>
> in v3 you did this:
>
> - rq = task_rq_lock(p, &flags);
>
> which removed the deadlock but left us with a random uninitialized rq
> variable ...

You know, I just knew I had a brain around here _somewhere_.

Weirdly, this didn't fall over on any of my testing. The gods know what
it was actually doing, though.

I'm picking up tip/master right now and will test your fix for this
shortly.
--
Frank Mayhar <fmayhar@xxxxxxxxxx>
Google, Inc.

--
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/