[<prev] [next>] [day] [month] [year] [list]
Message-ID: <48487C69.7000202@gmail.com>
Date: Thu, 05 Jun 2008 20:53:13 -0300
From: Kevin Winchester <kjwinchester@...il.com>
To: Ingo Molnar <mingo@...e.hu>
CC: Sitsofe Wheeler <sitsofe@...oo.com>,
Thomas Gleixner <tglx@...utronix.de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [X86][BISECTED] WARNING: at kernel/lockdep.c:2680
Ingo Molnar wrote:
> * Sitsofe Wheeler <sitsofe@...oo.com> wrote:
>
>> OK I've managed to bisect this down to commit
>> [c6531cce6e6e4b99bcda46b6268d6f2d9e30aea4] (sched: do not trace
>> sched_clock):
>>
>> commit c6531cce6e6e4b99bcda46b6268d6f2d9e30aea4
>> Author: Ingo Molnar <mingo@...e.hu>
>> Date: Mon May 12 21:21:14 2008 +0200
>>
>> sched: do not trace sched_clock
>>
>> The tracer uses sched_clock, so do not trace it.
>>
>> Signed-off-by: Ingo Molnar <mingo@...e.hu>
>> Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
>>
>> Reverting this made the lockdep warning go away. Here is the bisection log:
>
> ah, good find! Does the patch below (instead of the full revert) fix it
> as well? I've queued the fix up into tip/tracing/ftrace.
>
> Ingo
>
> ---------------->
> Subject: sched: sched_clock() lockdep fix
> From: Ingo Molnar <mingo@...e.hu>
> Date: Thu Jun 05 15:04:17 CEST 2008
>
> Sitsofe Wheeler reported a lockdep warning and bisected it down to:
>
>> commit c6531cce6e6e4b99bcda46b6268d6f2d9e30aea4
>> Author: Ingo Molnar <mingo@...e.hu>
>> Date: Mon May 12 21:21:14 2008 +0200
>>
>> sched: do not trace sched_clock
>
> do not use raw irq flags in cpu_clock() as it causes lockdep to lose
> track of the true state of the IRQ flag.
>
> Reported-and-bisected-by: Sitsofe Wheeler <sitsofe@...oo.com>
> Signed-off-by: Ingo Molnar <mingo@...e.hu>
> ---
> kernel/sched.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> Index: linux/kernel/sched.c
> ===================================================================
> --- linux.orig/kernel/sched.c
> +++ linux/kernel/sched.c
> @@ -862,7 +862,7 @@ unsigned long long notrace cpu_clock(int
> unsigned long long prev_cpu_time, time, delta_time;
> unsigned long flags;
>
> - raw_local_irq_save(flags);
> + local_irq_save(flags);
> prev_cpu_time = per_cpu(prev_cpu_time, cpu);
> time = __cpu_clock(cpu) + per_cpu(time_offset, cpu);
> delta_time = time-prev_cpu_time;
> @@ -871,7 +871,7 @@ unsigned long long notrace cpu_clock(int
> time = __sync_cpu_clock(time, cpu);
> per_cpu(prev_cpu_time, cpu) = time;
> }
> - raw_local_irq_restore(flags);
> + local_irq_restore(flags);
>
> return time;
> }
>
I didn't manage to get through a bisection run for the warning - thanks
to Sitsofe for doing it. The patch does eliminate the warning for me.
Thanks,
--
Kevin Winchester
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists