perf: Fix get_recursion_context()
authorPeter Zijlstra <peterz@infradead.org>
Fri, 30 Oct 2020 11:49:45 +0000 (12:49 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 9 Nov 2020 17:12:34 +0000 (18:12 +0100)
One should use in_serving_softirq() to detect SoftIRQ context.

Fixes: 96f6d4444302 ("perf_counter: avoid recursion")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20201030151955.120572175@infradead.org
kernel/events/internal.h

index fcbf5616a441185c1669e18ba63a4fa7477ab525..402054e755f27f1e8bdacb6ce39a581ad3dbad65 100644 (file)
@@ -211,7 +211,7 @@ static inline int get_recursion_context(int *recursion)
                rctx = 3;
        else if (in_irq())
                rctx = 2;
-       else if (in_softirq())
+       else if (in_serving_softirq())
                rctx = 1;
        else
                rctx = 0;