Skip to contentSkip to conversation

ftrace: prevent recursion

PATCH In review Lai Jiangshan 2 participants 2 messages Nov 27, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ftrace: prevent recursion

if the resched flag was set before we entered, then don't reschedule.

---

kernel/trace/ring_buffer.c +1 -1
index f780e95..668bbb5 100644
@@ -1215,7 +1215,7 @@ ring_buffer_lock_reserve(struct ring_buffer *buffer,
 
  out:
 	if (resched)
-		preempt_enable_notrace();
+		preempt_enable_no_resched_notrace();
 	else
 		preempt_enable_notrace();
 	return NULL;
maintainer
#1 lore raw
Quoted 10 lines · Lai Jiangshan

if the resched flag was set before we entered, then don't reschedule.

---

kernel/trace/ring_buffer.c +0 -0
index f780e95..668bbb5 100644

kernel/trace/ring_buffer.c ring_buffer_lock_reserve(struct ring_buffer *buffer, · line 1221

Quoted 8 lines
kernel/trace/ring_buffer.c +1 -1
@@ -1215,7 +1215,7 @@ ring_buffer_lock_reserve(struct ring_buffer *buffer,
 
  out:
 	if (resched)
-		preempt_enable_notrace();
+		preempt_enable_no_resched_notrace();
 	else
 		preempt_enable_notrace();
 	return NULL;

Ouch! Thanks, this patch should go straight to mainline. The version in tip uses the new ftrace_preempt_disable which is not yet in mainline.

-- Steve