Heiko Carstens a9ca8eb7af s390/ftrace: fix crashes when switching tracers / add notrace to cpu_relax()
With git commit 4d92f50249eb ("s390: reintroduce diag 44 calls for
cpu_relax()") I reintroduced a non-trivial cpu_relax() variant on s390.

The difference to the previous variant however is that the new version is
an out-of-line function, which will be traced if function tracing is enabled.

Switching to different tracers includes instruction patching. Therefore this
is done within stop_machine() "context" to prevent that any function tracing
is going on while instructions are being patched.
With the new out-of-line variant of cpu_relax() this is not true anymore,
since cpu_relax() gets called in a busy loop by all waiting cpus within
stop_machine() until function patching is finished.
Therefore cpu_relax() must be marked notrace.

This fixes kernel crashes when frequently switching between "function" and
"function_graph" tracers.

Moving cpu_relax() to a header file again, doesn't work because of header
include order dependencies.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2015-03-02 11:35:53 -08:00
..
2014-10-27 13:27:02 +01:00
2015-01-22 12:16:01 +01:00
2015-02-12 09:37:24 +01:00
2015-01-22 12:16:01 +01:00
2014-05-20 08:58:40 +02:00
2015-01-22 12:15:57 +01:00
2015-01-22 12:16:01 +01:00
2014-11-18 18:23:03 +01:00
2015-01-22 12:16:01 +01:00
2014-12-01 11:06:55 +01:00
2015-02-12 09:37:23 +01:00
2014-12-18 13:37:17 +01:00
2015-01-22 12:16:01 +01:00