lkml.org 
[lkml]   [2008]   [Aug]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RT 2/2] ftrace: fix elevated preempt_count in wakeup-tracer
Peter Zijlstra wrote:
> 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.
>
According to Steve, we are already in an interrupt-disabled section
here, but I will defer to him. He suggested I try this over an IRC
conversation when I noticed a strange wakeup trace, and it seems to have
solved the problem.

Im really sending this patch more of a reminder to Steve that he was
going to fix this, rather than to accept my patch as is. Of course I
don't mind if it is accepted as is, and I can make the prologue/comments
more descriptive if necessary. But if Steve wants to do something like
fold this into his ftrace series, that is fine too. I just didn't want
it to be forgotten ;)

-Greg


[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2008-08-19 15:27    [W:0.053 / U:32.088 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site