Author: cperciva
Date: Sun Dec 31 09:21:34 2017
New Revision: 327424
URL: https://svnweb.freebsd.org/changeset/base/327424

Log:
  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.

Modified:
  head/sys/conf/NOTES
  head/sys/conf/files
  head/sys/conf/options

Modified: head/sys/conf/NOTES
==============================================================================
--- head/sys/conf/NOTES Sun Dec 31 09:21:01 2017        (r327423)
+++ head/sys/conf/NOTES Sun Dec 31 09:21:34 2017        (r327424)
@@ -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

Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files Sun Dec 31 09:21:01 2017        (r327423)
+++ head/sys/conf/files Sun Dec 31 09:21:34 2017        (r327424)
@@ -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

Modified: head/sys/conf/options
==============================================================================
--- head/sys/conf/options       Sun Dec 31 09:21:01 2017        (r327423)
+++ head/sys/conf/options       Sun Dec 31 09:21:34 2017        (r327424)
@@ -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
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to