The raw_local_irq_save causes issues with lockdep. We don't need it so replace them with local_irq_save. Signed-off-by: Steven Rostedt <srostedt@redhat.com> --- kernel/trace/ring_buffer.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) Index: linux-tip.git/kernel/trace/ring_buffer.c =================================================================== --- linux-tip.git.orig/kernel/trace/ring_buffer.c 2008-10-01 00:04:39.000000000 -0400 +++ linux-tip.git/kernel/trace/ring_buffer.c 2008-10-01 00:05:07.000000000 -0400 @@ -847,7 +847,7 @@ ring_buffer_lock_reserve(struct ring_buf if (atomic_read(&buffer->record_disabled)) return NULL; - raw_local_irq_save(*flags); + local_irq_save(*flags); cpu = raw_smp_processor_id(); if (!cpu_isset(cpu, buffer->cpumask)) @@ -909,7 +909,7 @@ int ring_buffer_unlock_commit(struct rin rb_commit(cpu_buffer, event); spin_unlock(&cpu_buffer->lock); - raw_local_irq_restore(flags); + local_irq_restore(flags); return 0; } @@ -1583,13 +1583,13 @@ void ring_buffer_reset_cpu(struct ring_b if (!cpu_isset(cpu, buffer->cpumask)) return; - raw_local_irq_save(flags); + local_irq_save(flags); spin_lock(&cpu_buffer->lock); rb_reset_cpu(cpu_buffer); spin_unlock(&cpu_buffer->lock); - raw_local_irq_restore(flags); + local_irq_restore(flags); } /** -- --
applied to tip/tracing/ring-buffer, thanks Steve! Ingo --
the same warning still occurs with your latest fixes - see the log below. Config attached. You should be able to reproduce it, it happens on every bootup with this config. Ingo [ 0.159313] initcall relay_init+0x0/0x14 returned 0 after 0 msecs [ 0.159345] calling tracer_alloc_buffers+0x0/0x1d9 @ 1 [ 0.160001] ------------[ cut here ]------------ [ 0.160001] WARNING: at kernel/lockdep.c:2880 check_flags+0x63/0x179() [ 0.160001] Modules linked in: [ 0.160001] Pid: 1, comm: swapper Not tainted 2.6.27-rc8-tip #37737 [ 0.160001] Call Trace: [ 0.160001] [<ffffffff80241faf>] warn_on_slowpath+0x5d/0x84 [ 0.160001] [<ffffffff80264776>] ? __lock_acquire+0xba4/0xbc5 [ 0.160001] [<ffffffff80261479>] ? __raw_spin_is_locked+0x17/0x1a [ 0.160001] [<ffffffff802617d8>] ? graph_unlock+0x79/0x7e [ 0.160001] [<ffffffff802632a2>] ? mark_lock+0x1c/0x361 [ 0.160001] [<ffffffff8026363d>] ? mark_held_locks+0x56/0x71 [ 0.160001] [<ffffffff8028c443>] ? time_hardirqs_off+0x12/0x26 [ 0.160001] [<ffffffff802622f4>] ? trace_hardirqs_off_caller+0x21/0xc2 [ 0.160001] [<ffffffff802615cf>] check_flags+0x63/0x179 [ 0.160001] [<ffffffff802654a4>] lock_acquire+0x51/0xc2 [ 0.160001] [<ffffffff80756775>] _spin_lock+0x36/0x65 [ 0.160001] [<ffffffff80287eec>] ? ring_buffer_reset_cpu+0x47/0x6b [ 0.160001] [<ffffffff80287eec>] ring_buffer_reset_cpu+0x47/0x6b [ 0.160001] [<ffffffff8028ac54>] tracing_reset+0xc/0xe [ 0.160001] [<ffffffff8028d966>] boot_trace_init+0x2a/0x44 [ 0.160001] [<ffffffff80a9c0fd>] tracer_alloc_buffers+0x19b/0x1d9 [ 0.160001] [<ffffffff80a9bf62>] ? tracer_alloc_buffers+0x0/0x1d9 [ 0.160001] [<ffffffff8020a062>] do_one_initcall+0x62/0x165 [ 0.160001] [<ffffffff80a935a0>] ? setup_boot_APIC_clock+0x397/0x3af [ 0.160001] [<ffffffff80226867>] ? get_apic_id+0x0/0x13 [ 0.160001] [<ffffffff80226867>] ? get_apic_id+0x0/0x13 [ 0.160001] [<ffffffff80a9bf62>] ? tracer_alloc_buffers+0x0/0x1d9 [ ...
ignore me, my bad ... i messed up the test. The warning is indeed fixed. Ingo --
