Connect kern_tslog.c to the build and add TSLOG / TSLOGSIZE kernel options.

These are intended for debugging purposes and should not be added to
"generic" kernel configurations since they result in a nontrivial amount
of memory being set aside for this purpose, can break if kernel modules are
unloaded, and can potentially leak a dangerous amount of information about
timestamps used as a source of kernel entropy.
This commit is contained in:
Colin Percival 2017-12-31 09:21:34 +00:00
parent e31e71991a
commit ae3d6bfa20
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=327424
3 changed files with 17 additions and 0 deletions

View File

@ -590,6 +590,20 @@ options STACK
#
options NUM_CORE_FILES=5
#
# The TSLOG option enables timestamped logging of events, especially
# function entries/exits, in order to track the time spent by the kernel.
# In particular, this is useful when investigating the early boot process,
# before it is possible to use more sophisticated tools like DTrace.
# The TSLOGSIZE option controls the size of the (preallocated, fixed
# length) buffer used for storing these events (default: 262144 records).
#
# For security reasons the TSLOG option should not be enabled on systems
# used in production.
#
options TSLOG
options TSLOGSIZE=262144
#####################################################################
# PERFORMANCE MONITORING OPTIONS

View File

@ -3802,6 +3802,7 @@ kern/kern_thr.c standard
kern/kern_thread.c standard
kern/kern_time.c standard
kern/kern_timeout.c standard
kern/kern_tslog.c optional tslog
kern/kern_umtx.c standard
kern/kern_uuid.c standard
kern/kern_xxx.c standard

View File

@ -67,6 +67,8 @@ EARLY_PRINTF opt_global.h
TEXTDUMP_PREFERRED opt_ddb.h
TEXTDUMP_VERBOSE opt_ddb.h
NUM_CORE_FILES opt_global.h
TSLOG opt_global.h
TSLOGSIZE opt_global.h
# Miscellaneous options.
ALQ