]> git.baikalelectronics.ru Git - kernel.git/commit
ftrace: Fix assuming build time sort works for s390
authorSteven Rostedt (Google) <rostedt@goodmis.org>
Sat, 22 Jan 2022 14:17:10 +0000 (09:17 -0500)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Sun, 23 Jan 2022 05:10:09 +0000 (00:10 -0500)
commitc3affa3f5402b2c3a77e0758cd7dcdedfd351f8b
tree0d9b3f8fe3e5c51f4b92a7945894e622c5829de2
parent0d7346129650490c92a1a732ac42919f7c0afca1
ftrace: Fix assuming build time sort works for s390

To speed up the boot process, as mcount_loc needs to be sorted for ftrace
to work properly, sorting it at build time is more efficient than boot up
and can save milliseconds of time. Unfortunately, this change broke s390
as it will modify the mcount_loc location after the sorting takes place
and will put back the unsorted locations. Since the sorting is skipped at
boot up if it is believed that it was sorted at run time, ftrace can crash
as its algorithms are dependent on the list being sorted.

Add a new config BUILDTIME_MCOUNT_SORT that is set when
BUILDTIME_TABLE_SORT but not if S390 is set. Use this config to determine
if sorting should take place at boot up.

Link: https://lore.kernel.org/all/yt9dee51ctfn.fsf@linux.ibm.com/
Fixes: e099573c11e6 ("scripts: ftrace - move the sort-processing in ftrace_init")
Reported-by: Sven Schnelle <svens@linux.ibm.com>
Tested-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/Kconfig
kernel/trace/ftrace.c