From 6d6b53b4eebe87c42ef0932136e66c5607e6ce25 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 28 Apr 2009 11:39:34 -0400 Subject: [PATCH] --- yaml --- r: 146065 b: refs/heads/master c: cd891ae0305601bdb4d2e7e85282961c4ff256cd h: refs/heads/master i: 146063: 6558792c164b9b81f841f54319b4cf28d1d51dce v: v3 --- [refs] | 2 +- trunk/kernel/trace/trace.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index a7155a4e9497..df0e15316163 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 701970b3a83cc639c1ec8fc6f40a7871cb99426f +refs/heads/master: cd891ae0305601bdb4d2e7e85282961c4ff256cd diff --git a/trunk/kernel/trace/trace.c b/trunk/kernel/trace/trace.c index b6183bc9ecae..5d704a41f836 100644 --- a/trunk/kernel/trace/trace.c +++ b/trunk/kernel/trace/trace.c @@ -4114,7 +4114,8 @@ trace_printk_seq(struct trace_seq *s) static void __ftrace_dump(bool disable_tracing) { - static DEFINE_SPINLOCK(ftrace_dump_lock); + static raw_spinlock_t ftrace_dump_lock = + (raw_spinlock_t)__RAW_SPIN_LOCK_UNLOCKED; /* use static because iter can be a bit big for the stack */ static struct trace_iterator iter; unsigned int old_userobj; @@ -4123,7 +4124,8 @@ static void __ftrace_dump(bool disable_tracing) int cnt = 0, cpu; /* only one dump */ - spin_lock_irqsave(&ftrace_dump_lock, flags); + local_irq_save(flags); + __raw_spin_lock(&ftrace_dump_lock); if (dump_ran) goto out; @@ -4195,7 +4197,8 @@ static void __ftrace_dump(bool disable_tracing) } out: - spin_unlock_irqrestore(&ftrace_dump_lock, flags); + __raw_spin_unlock(&ftrace_dump_lock); + local_irq_restore(flags); } /* By default: disable tracing after the dump */