Messages in this thread | | | Subject | Re: [PATCH RT 2/2] ftrace: fix elevated preempt_count in wakeup-tracer | From | Peter Zijlstra <> | Date | Tue, 19 Aug 2008 15:12:36 +0200 |
| |
On Tue, 2008-08-19 at 05:19 -0400, Gregory Haskins wrote: > Suggested by Steve Rostedt to fix an observed "+1" in the preempt-count > > Signed-off-by: Gregory Haskins <ghaskins@novell.com> > --- > > kernel/trace/trace_sched_wakeup.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/kernel/trace/trace_sched_wakeup.c b/kernel/trace/trace_sched_wakeup.c > index c3a15bd..ae523fd 100644 > --- a/kernel/trace/trace_sched_wakeup.c > +++ b/kernel/trace/trace_sched_wakeup.c > @@ -70,7 +70,9 @@ wakeup_tracer_call(unsigned long ip, unsigned long parent_ip) > if (task_cpu(wakeup_task) != cpu) > goto unlock; > > + preempt_enable_no_resched_notrace(); > trace_function(tr, data, ip, parent_ip, flags); > + preempt_disable_notrace();
Is preempt_count > 1 at all times here?
If not, it might drop to 0 and any interrupt might cause preemption - and its not obvious to me that that is actually correct.
Just asking, as neither the changelog nor the code fragment enlightens me on the subject.
| |