On Tue, 3 Nov 2020 15:10:43 +0100
Petr Mladek [off-list ref] wrote:
BTW: What is actually the purpose of paranoid_test, please?
It prevents nested ftrace_record_recursion() calls on the same CPU
(recursion, nesting from IRQ, NMI context).
Parallel calls from different CPUs are still possible:
CPU0 CPU1
if (!atomic_read(¶noid_test)) if (!atomic_read(¶noid_test))
// passes // passes
atomic_inc(¶noid_test); atomic_inc(¶noid_test);
I do not see how a nested call could cause crash while a parallel
one would be OK.
Yeah, I should make that per cpu, but was lazy. ;-)
It was added at the end.
I'll update that to a per cpu, and local inc operations.
-- Steve