lkml.org 
[lkml]   [2017]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 68/72] tracing: Use SOFTIRQ_OFFSET for softirq dectection for more accurate results
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Pavankumar Kondeti <pkondeti@codeaurora.org>

    commit c59f29cb144a6a0dfac16ede9dc8eafc02dc56ca upstream.

    The 's' flag is supposed to indicate that a softirq is running. This
    can be detected by testing the preempt_count with SOFTIRQ_OFFSET.

    The current code tests the preempt_count with SOFTIRQ_MASK, which
    would be true even when softirqs are disabled but not serving a
    softirq.

    Link: http://lkml.kernel.org/r/1481300417-3564-1-git-send-email-pkondeti@codeaurora.org

    Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    kernel/trace/trace.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/kernel/trace/trace.c
    +++ b/kernel/trace/trace.c
    @@ -1906,7 +1906,7 @@ tracing_generic_entry_update(struct trac
    #endif
    ((pc & NMI_MASK ) ? TRACE_FLAG_NMI : 0) |
    ((pc & HARDIRQ_MASK) ? TRACE_FLAG_HARDIRQ : 0) |
    - ((pc & SOFTIRQ_MASK) ? TRACE_FLAG_SOFTIRQ : 0) |
    + ((pc & SOFTIRQ_OFFSET) ? TRACE_FLAG_SOFTIRQ : 0) |
    (tif_need_resched() ? TRACE_FLAG_NEED_RESCHED : 0) |
    (test_preempt_need_resched() ? TRACE_FLAG_PREEMPT_RESCHED : 0);
    }

    \
     
     \ /
      Last update: 2017-07-19 12:30    [W:3.285 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site