Re: [GIT PULL] core/locking changes for v3.2

From: Linus Torvalds
Date: Wed Oct 26 2011 - 10:22:15 EST


On Wed, Oct 26, 2011 at 3:25 PM, Ingo Molnar <mingo@xxxxxxx> wrote:
>
> Note, you will get a conflict in kernel/posix-cpu-timers.c, which i
> resolved in -tip the following way:
>
>        raw_spin_lock_irqsave(&cputimer->lock, flags);
>        if (!cputimer->running) {
>                cputimer->running = 1;
>                /*
>                 * The POSIX timer interface allows for absolute time expiry
>                 * values through the TIMER_ABSTIME flag, therefore we have
>                 * to synchronize the timer to the clock every time we start
>                 * it.
>                 */
>                thread_group_cputime(tsk, &sum);
>                update_gt_cputime(&cputimer->cputime, &sum);
>        }
>        *times = cputimer->cputime;
>        raw_spin_unlock_irqrestore(&cputimer->lock, flags);

That seems like a completely bogus resolution. You are re-introducing
the incorrect ABBA nesting of cputimer->lock and rq->lock, and
basically undoing commit bcd5cff7216f.

So I did that resolve differently in a way that I believe is correct.
But please do check the end result out. Peter?

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