[PATCH 1/2] ring_buffer: remove raw from local_irq_save

Previous thread: [PATCH 1/2] x86_64: ia32_signal.c: remove unnecessary cast to u32 by Hiroshi Shimamoto on Tuesday, September 30, 2008 - 8:28 pm. (2 messages)

Next thread: [PATCH 0/2] ring_buffer: updates for linux-tip by Steven Rostedt on Tuesday, September 30, 2008 - 9:29 pm. (6 messages)
From: Steven Rostedt
Date: Tuesday, September 30, 2008 - 9:29 pm

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);
 }
 
 /**

-- 
--

From: Ingo Molnar
Date: Tuesday, September 30, 2008 - 10:52 pm

applied to tip/tracing/ring-buffer, thanks Steve!

	Ingo
--

From: Ingo Molnar
Date: Tuesday, September 30, 2008 - 11:08 pm

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
[   ...
From: Ingo Molnar
Date: Tuesday, September 30, 2008 - 11:14 pm

ignore me, my bad ... i messed up the test. The warning is indeed fixed.

	Ingo
--

Previous thread: [PATCH 1/2] x86_64: ia32_signal.c: remove unnecessary cast to u32 by Hiroshi Shimamoto on Tuesday, September 30, 2008 - 8:28 pm. (2 messages)

Next thread: [PATCH 0/2] ring_buffer: updates for linux-tip by Steven Rostedt on Tuesday, September 30, 2008 - 9:29 pm. (6 messages)