Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    1) ===================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    2) Documentation for /proc/sys/kernel/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    3) ===================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    5) .. See scripts/check-sysctl-docs to keep this up to date
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    8) Copyright (c) 1998, 1999,  Rik van Riel <riel@nl.linux.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   10) Copyright (c) 2009,        Shen Feng<shen@cn.fujitsu.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   12) For general info and legal blurb, please look in :doc:`index`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   14) ------------------------------------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   16) This file contains documentation for the sysctl files in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   17) ``/proc/sys/kernel/`` and is valid for Linux kernel version 2.2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   19) The files in this directory can be used to tune and monitor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   20) miscellaneous and general things in the operation of the Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   21) kernel. Since some of the files *can* be used to screw up your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   22) system, it is advisable to read both documentation and source
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   23) before actually making adjustments.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   25) Currently, these files might (depending on your configuration)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   26) show up in ``/proc/sys/kernel``:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   28) .. contents:: :local:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   31) acct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   32) ====
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   34) ::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   35) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   36)     highwater lowwater frequency
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   38) If BSD-style process accounting is enabled these values control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   39) its behaviour. If free space on filesystem where the log lives
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   40) goes below ``lowwater``% accounting suspends. If free space gets
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   41) above ``highwater``% accounting resumes. ``frequency`` determines
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   42) how often do we check the amount of free space (value is in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   43) seconds). Default:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   45) ::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   47)     4 2 30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   49) That is, suspend accounting if free space drops below 2%; resume it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   50) if it increases to at least 4%; consider information about amount of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   51) free space valid for 30 seconds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   54) acpi_video_flags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   55) ================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   57) See :doc:`/power/video`. This allows the video resume mode to be set,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   58) in a similar fashion to the ``acpi_sleep`` kernel parameter, by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   59) combining the following values:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   61) = =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   62) 1 s3_bios
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   63) 2 s3_mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   64) 4 s3_beep
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   65) = =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   67) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   68) auto_msgmni
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   69) ===========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   71) This variable has no effect and may be removed in future kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   72) releases. Reading it always returns 0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   73) Up to Linux 3.17, it enabled/disabled automatic recomputing of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   74) `msgmni`_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   75) upon memory add/remove or upon IPC namespace creation/removal.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   76) Echoing "1" into this file enabled msgmni automatic recomputing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   77) Echoing "0" turned it off. The default value was 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   80) bootloader_type (x86 only)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   81) ==========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   82) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   83) This gives the bootloader type number as indicated by the bootloader,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   84) shifted left by 4, and OR'd with the low four bits of the bootloader
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   85) version.  The reason for this encoding is that this used to match the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   86) ``type_of_loader`` field in the kernel header; the encoding is kept for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   87) backwards compatibility.  That is, if the full bootloader type number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   88) is 0x15 and the full version number is 0x234, this file will contain
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   89) the value 340 = 0x154.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   91) See the ``type_of_loader`` and ``ext_loader_type`` fields in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   92) :doc:`/x86/boot` for additional information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   94) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   95) bootloader_version (x86 only)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   96) =============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   97) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   98) The complete bootloader version number.  In the example above, this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   99) file will contain the value 564 = 0x234.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  100) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  101) See the ``type_of_loader`` and ``ext_loader_ver`` fields in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  102) :doc:`/x86/boot` for additional information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  103) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  104) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  105) bpf_stats_enabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  106) =================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  107) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  108) Controls whether the kernel should collect statistics on BPF programs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  109) (total time spent running, number of times run...). Enabling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  110) statistics causes a slight reduction in performance on each program
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  111) run. The statistics can be seen using ``bpftool``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  113) = ===================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  114) 0 Don't collect statistics (default).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  115) 1 Collect statistics.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  116) = ===================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  117) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  118) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  119) cad_pid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  120) =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  121) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  122) This is the pid which will be signalled on reboot (notably, by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  123) Ctrl-Alt-Delete). Writing a value to this file which doesn't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  124) correspond to a running process will result in ``-ESRCH``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  125) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  126) See also `ctrl-alt-del`_.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  127) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  128) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  129) cap_last_cap
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  130) ============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  131) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  132) Highest valid capability of the running kernel.  Exports
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  133) ``CAP_LAST_CAP`` from the kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  134) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  135) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  136) core_pattern
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  137) ============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  138) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  139) ``core_pattern`` is used to specify a core dumpfile pattern name.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  140) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  141) * max length 127 characters; default value is "core"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  142) * ``core_pattern`` is used as a pattern template for the output
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  143)   filename; certain string patterns (beginning with '%') are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  144)   substituted with their actual values.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  145) * backward compatibility with ``core_uses_pid``:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  146) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  147) 	If ``core_pattern`` does not include "%p" (default does not)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  148) 	and ``core_uses_pid`` is set, then .PID will be appended to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  149) 	the filename.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  150) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  151) * corename format specifiers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  152) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  153) 	========	==========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  154) 	%<NUL>		'%' is dropped
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  155) 	%%		output one '%'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  156) 	%p		pid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  157) 	%P		global pid (init PID namespace)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  158) 	%i		tid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  159) 	%I		global tid (init PID namespace)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  160) 	%u		uid (in initial user namespace)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  161) 	%g		gid (in initial user namespace)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  162) 	%d		dump mode, matches ``PR_SET_DUMPABLE`` and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  163) 			``/proc/sys/fs/suid_dumpable``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  164) 	%s		signal number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  165) 	%t		UNIX time of dump
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  166) 	%h		hostname
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  167) 	%e		executable filename (may be shortened, could be changed by prctl etc)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  168) 	%f      	executable filename
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  169) 	%E		executable path
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  170) 	%c		maximum size of core file by resource limit RLIMIT_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  171) 	%<OTHER>	both are dropped
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  172) 	========	==========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  173) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  174) * If the first character of the pattern is a '|', the kernel will treat
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  175)   the rest of the pattern as a command to run.  The core dump will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  176)   written to the standard input of that program instead of to a file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  177) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  178) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  179) core_pipe_limit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  180) ===============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  181) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  182) This sysctl is only applicable when `core_pattern`_ is configured to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  183) pipe core files to a user space helper (when the first character of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  184) ``core_pattern`` is a '|', see above).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  185) When collecting cores via a pipe to an application, it is occasionally
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  186) useful for the collecting application to gather data about the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  187) crashing process from its ``/proc/pid`` directory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  188) In order to do this safely, the kernel must wait for the collecting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  189) process to exit, so as not to remove the crashing processes proc files
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  190) prematurely.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  191) This in turn creates the possibility that a misbehaving userspace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  192) collecting process can block the reaping of a crashed process simply
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  193) by never exiting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  194) This sysctl defends against that.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  195) It defines how many concurrent crashing processes may be piped to user
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  196) space applications in parallel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  197) If this value is exceeded, then those crashing processes above that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  198) value are noted via the kernel log and their cores are skipped.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  199) 0 is a special value, indicating that unlimited processes may be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  200) captured in parallel, but that no waiting will take place (i.e. the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  201) collecting process is not guaranteed access to ``/proc/<crashing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  202) pid>/``).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  203) This value defaults to 0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  204) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  205) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  206) core_uses_pid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  207) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  208) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  209) The default coredump filename is "core".  By setting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  210) ``core_uses_pid`` to 1, the coredump filename becomes core.PID.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  211) If `core_pattern`_ does not include "%p" (default does not)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  212) and ``core_uses_pid`` is set, then .PID will be appended to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  213) the filename.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  214) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  215) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  216) ctrl-alt-del
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  217) ============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  218) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  219) When the value in this file is 0, ctrl-alt-del is trapped and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  220) sent to the ``init(1)`` program to handle a graceful restart.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  221) When, however, the value is > 0, Linux's reaction to a Vulcan
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  222) Nerve Pinch (tm) will be an immediate reboot, without even
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  223) syncing its dirty buffers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  224) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  225) Note:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  226)   when a program (like dosemu) has the keyboard in 'raw'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  227)   mode, the ctrl-alt-del is intercepted by the program before it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  228)   ever reaches the kernel tty layer, and it's up to the program
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  229)   to decide what to do with it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  230) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  231) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  232) dmesg_restrict
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  233) ==============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  234) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  235) This toggle indicates whether unprivileged users are prevented
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  236) from using ``dmesg(8)`` to view messages from the kernel's log
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  237) buffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  238) When ``dmesg_restrict`` is set to 0 there are no restrictions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  239) When ``dmesg_restrict`` is set to 1, users must have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  240) ``CAP_SYSLOG`` to use ``dmesg(8)``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  241) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  242) The kernel config option ``CONFIG_SECURITY_DMESG_RESTRICT`` sets the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  243) default value of ``dmesg_restrict``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  244) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  245) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  246) domainname & hostname
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  247) =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  248) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  249) These files can be used to set the NIS/YP domainname and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  250) hostname of your box in exactly the same way as the commands
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  251) domainname and hostname, i.e.::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  252) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  253) 	# echo "darkstar" > /proc/sys/kernel/hostname
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  254) 	# echo "mydomain" > /proc/sys/kernel/domainname
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  255) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  256) has the same effect as::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  257) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  258) 	# hostname "darkstar"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  259) 	# domainname "mydomain"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  260) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  261) Note, however, that the classic darkstar.frop.org has the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  262) hostname "darkstar" and DNS (Internet Domain Name Server)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  263) domainname "frop.org", not to be confused with the NIS (Network
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  264) Information Service) or YP (Yellow Pages) domainname. These two
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  265) domain names are in general different. For a detailed discussion
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  266) see the ``hostname(1)`` man page.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  267) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  268) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  269) firmware_config
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  270) ===============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  271) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  272) See :doc:`/driver-api/firmware/fallback-mechanisms`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  273) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  274) The entries in this directory allow the firmware loader helper
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  275) fallback to be controlled:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  276) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  277) * ``force_sysfs_fallback``, when set to 1, forces the use of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  278)   fallback;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  279) * ``ignore_sysfs_fallback``, when set to 1, ignores any fallback.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  280) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  281) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  282) ftrace_dump_on_oops
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  283) ===================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  284) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  285) Determines whether ``ftrace_dump()`` should be called on an oops (or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  286) kernel panic). This will output the contents of the ftrace buffers to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  287) the console.  This is very useful for capturing traces that lead to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  288) crashes and outputting them to a serial console.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  289) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  290) = ===================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  291) 0 Disabled (default).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  292) 1 Dump buffers of all CPUs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  293) 2 Dump the buffer of the CPU that triggered the oops.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  294) = ===================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  295) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  296) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  297) ftrace_enabled, stack_tracer_enabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  298) ====================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  299) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  300) See :doc:`/trace/ftrace`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  301) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  302) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  303) hardlockup_all_cpu_backtrace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  304) ============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  305) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  306) This value controls the hard lockup detector behavior when a hard
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  307) lockup condition is detected as to whether or not to gather further
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  308) debug information. If enabled, arch-specific all-CPU stack dumping
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  309) will be initiated.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  310) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  311) = ============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  312) 0 Do nothing. This is the default behavior.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  313) 1 On detection capture more debug information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  314) = ============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  315) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  316) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  317) hardlockup_panic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  318) ================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  319) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  320) This parameter can be used to control whether the kernel panics
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  321) when a hard lockup is detected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  322) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  323) = ===========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  324) 0 Don't panic on hard lockup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  325) 1 Panic on hard lockup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  326) = ===========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  327) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  328) See :doc:`/admin-guide/lockup-watchdogs` for more information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  329) This can also be set using the nmi_watchdog kernel parameter.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  330) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  331) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  332) hotplug
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  333) =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  334) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  335) Path for the hotplug policy agent.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  336) Default value is "``/sbin/hotplug``".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  337) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  338) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  339) hung_task_all_cpu_backtrace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  340) ===========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  341) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  342) If this option is set, the kernel will send an NMI to all CPUs to dump
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  343) their backtraces when a hung task is detected. This file shows up if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  344) CONFIG_DETECT_HUNG_TASK and CONFIG_SMP are enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  345) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  346) 0: Won't show all CPUs backtraces when a hung task is detected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  347) This is the default behavior.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  348) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  349) 1: Will non-maskably interrupt all CPUs and dump their backtraces when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  350) a hung task is detected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  351) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  352) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  353) hung_task_panic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  354) ===============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  355) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  356) Controls the kernel's behavior when a hung task is detected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  357) This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  358) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  359) = =================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  360) 0 Continue operation. This is the default behavior.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  361) 1 Panic immediately.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  362) = =================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  363) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  364) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  365) hung_task_check_count
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  366) =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  367) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  368) The upper bound on the number of tasks that are checked.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  369) This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  370) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  371) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  372) hung_task_timeout_secs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  373) ======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  374) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  375) When a task in D state did not get scheduled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  376) for more than this value report a warning.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  377) This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  378) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  379) 0 means infinite timeout, no checking is done.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  380) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  381) Possible values to set are in range {0:``LONG_MAX``/``HZ``}.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  382) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  383) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  384) hung_task_check_interval_secs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  385) =============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  386) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  387) Hung task check interval. If hung task checking is enabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  388) (see `hung_task_timeout_secs`_), the check is done every
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  389) ``hung_task_check_interval_secs`` seconds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  390) This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  391) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  392) 0 (default) means use ``hung_task_timeout_secs`` as checking
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  393) interval.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  394) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  395) Possible values to set are in range {0:``LONG_MAX``/``HZ``}.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  396) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  397) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  398) hung_task_warnings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  399) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  400) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  401) The maximum number of warnings to report. During a check interval
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  402) if a hung task is detected, this value is decreased by 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  403) When this value reaches 0, no more warnings will be reported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  404) This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  405) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  406) -1: report an infinite number of warnings.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  407) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  408) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  409) hyperv_record_panic_msg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  410) =======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  411) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  412) Controls whether the panic kmsg data should be reported to Hyper-V.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  413) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  414) = =========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  415) 0 Do not report panic kmsg data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  416) 1 Report the panic kmsg data. This is the default behavior.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  417) = =========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  418) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  419) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  420) ignore-unaligned-usertrap
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  421) =========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  422) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  423) On architectures where unaligned accesses cause traps, and where this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  424) feature is supported (``CONFIG_SYSCTL_ARCH_UNALIGN_NO_WARN``;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  425) currently, ``arc`` and ``ia64``), controls whether all unaligned traps
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  426) are logged.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  427) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  428) = =============================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  429) 0 Log all unaligned accesses.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  430) 1 Only warn the first time a process traps. This is the default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  431)   setting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  432) = =============================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  433) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  434) See also `unaligned-trap`_ and `unaligned-dump-stack`_. On ``ia64``,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  435) this allows system administrators to override the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  436) ``IA64_THREAD_UAC_NOPRINT`` ``prctl`` and avoid logs being flooded.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  437) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  438) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  439) kexec_load_disabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  440) ===================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  441) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  442) A toggle indicating if the ``kexec_load`` syscall has been disabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  443) This value defaults to 0 (false: ``kexec_load`` enabled), but can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  444) set to 1 (true: ``kexec_load`` disabled).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  445) Once true, kexec can no longer be used, and the toggle cannot be set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  446) back to false.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  447) This allows a kexec image to be loaded before disabling the syscall,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  448) allowing a system to set up (and later use) an image without it being
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  449) altered.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  450) Generally used together with the `modules_disabled`_ sysctl.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  451) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  452) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  453) kptr_restrict
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  454) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  455) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  456) This toggle indicates whether restrictions are placed on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  457) exposing kernel addresses via ``/proc`` and other interfaces.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  458) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  459) When ``kptr_restrict`` is set to 0 (the default) the address is hashed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  460) before printing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  461) (This is the equivalent to %p.)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  462) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  463) When ``kptr_restrict`` is set to 1, kernel pointers printed using the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  464) %pK format specifier will be replaced with 0s unless the user has
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  465) ``CAP_SYSLOG`` and effective user and group ids are equal to the real
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  466) ids.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  467) This is because %pK checks are done at read() time rather than open()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  468) time, so if permissions are elevated between the open() and the read()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  469) (e.g via a setuid binary) then %pK will not leak kernel pointers to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  470) unprivileged users.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  471) Note, this is a temporary solution only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  472) The correct long-term solution is to do the permission checks at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  473) open() time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  474) Consider removing world read permissions from files that use %pK, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  475) using `dmesg_restrict`_ to protect against uses of %pK in ``dmesg(8)``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  476) if leaking kernel pointer values to unprivileged users is a concern.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  477) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  478) When ``kptr_restrict`` is set to 2, kernel pointers printed using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  479) %pK will be replaced with 0s regardless of privileges.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  480) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  481) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  482) modprobe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  483) ========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  484) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  485) The full path to the usermode helper for autoloading kernel modules,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  486) by default "/sbin/modprobe".  This binary is executed when the kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  487) requests a module.  For example, if userspace passes an unknown
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  488) filesystem type to mount(), then the kernel will automatically request
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  489) the corresponding filesystem module by executing this usermode helper.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  490) This usermode helper should insert the needed module into the kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  491) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  492) This sysctl only affects module autoloading.  It has no effect on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  493) ability to explicitly insert modules.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  494) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  495) This sysctl can be used to debug module loading requests::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  496) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  497)     echo '#! /bin/sh' > /tmp/modprobe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  498)     echo 'echo "$@" >> /tmp/modprobe.log' >> /tmp/modprobe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  499)     echo 'exec /sbin/modprobe "$@"' >> /tmp/modprobe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  500)     chmod a+x /tmp/modprobe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  501)     echo /tmp/modprobe > /proc/sys/kernel/modprobe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  502) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  503) Alternatively, if this sysctl is set to the empty string, then module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  504) autoloading is completely disabled.  The kernel will not try to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  505) execute a usermode helper at all, nor will it call the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  506) kernel_module_request LSM hook.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  507) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  508) If CONFIG_STATIC_USERMODEHELPER=y is set in the kernel configuration,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  509) then the configured static usermode helper overrides this sysctl,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  510) except that the empty string is still accepted to completely disable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  511) module autoloading as described above.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  512) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  513) modules_disabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  514) ================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  515) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  516) A toggle value indicating if modules are allowed to be loaded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  517) in an otherwise modular kernel.  This toggle defaults to off
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  518) (0), but can be set true (1).  Once true, modules can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  519) neither loaded nor unloaded, and the toggle cannot be set back
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  520) to false.  Generally used with the `kexec_load_disabled`_ toggle.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  521) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  522) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  523) .. _msgmni:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  524) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  525) msgmax, msgmnb, and msgmni
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  526) ==========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  527) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  528) ``msgmax`` is the maximum size of an IPC message, in bytes. 8192 by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  529) default (``MSGMAX``).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  530) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  531) ``msgmnb`` is the maximum size of an IPC queue, in bytes. 16384 by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  532) default (``MSGMNB``).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  533) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  534) ``msgmni`` is the maximum number of IPC queues. 32000 by default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  535) (``MSGMNI``).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  536) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  537) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  538) msg_next_id, sem_next_id, and shm_next_id (System V IPC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  539) ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  540) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  541) These three toggles allows to specify desired id for next allocated IPC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  542) object: message, semaphore or shared memory respectively.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  543) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  544) By default they are equal to -1, which means generic allocation logic.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  545) Possible values to set are in range {0:``INT_MAX``}.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  546) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  547) Notes:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  548)   1) kernel doesn't guarantee, that new object will have desired id. So,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  549)      it's up to userspace, how to handle an object with "wrong" id.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  550)   2) Toggle with non-default value will be set back to -1 by kernel after
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  551)      successful IPC object allocation. If an IPC object allocation syscall
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  552)      fails, it is undefined if the value remains unmodified or is reset to -1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  553) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  554) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  555) ngroups_max
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  556) ===========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  557) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  558) Maximum number of supplementary groups, _i.e._ the maximum size which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  559) ``setgroups`` will accept. Exports ``NGROUPS_MAX`` from the kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  560) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  561) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  562) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  563) nmi_watchdog
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  564) ============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  565) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  566) This parameter can be used to control the NMI watchdog
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  567) (i.e. the hard lockup detector) on x86 systems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  568) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  569) = =================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  570) 0 Disable the hard lockup detector.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  571) 1 Enable the hard lockup detector.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  572) = =================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  573) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  574) The hard lockup detector monitors each CPU for its ability to respond to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  575) timer interrupts. The mechanism utilizes CPU performance counter registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  576) that are programmed to generate Non-Maskable Interrupts (NMIs) periodically
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  577) while a CPU is busy. Hence, the alternative name 'NMI watchdog'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  578) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  579) The NMI watchdog is disabled by default if the kernel is running as a guest
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  580) in a KVM virtual machine. This default can be overridden by adding::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  581) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  582)    nmi_watchdog=1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  583) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  584) to the guest kernel command line (see :doc:`/admin-guide/kernel-parameters`).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  585) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  586) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  587) numa_balancing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  588) ==============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  589) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  590) Enables/disables automatic page fault based NUMA memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  591) balancing. Memory is moved automatically to nodes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  592) that access it often.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  593) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  594) Enables/disables automatic NUMA memory balancing. On NUMA machines, there
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  595) is a performance penalty if remote memory is accessed by a CPU. When this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  596) feature is enabled the kernel samples what task thread is accessing memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  597) by periodically unmapping pages and later trapping a page fault. At the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  598) time of the page fault, it is determined if the data being accessed should
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  599) be migrated to a local memory node.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  600) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  601) The unmapping of pages and trapping faults incur additional overhead that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  602) ideally is offset by improved memory locality but there is no universal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  603) guarantee. If the target workload is already bound to NUMA nodes then this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  604) feature should be disabled. Otherwise, if the system overhead from the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  605) feature is too high then the rate the kernel samples for NUMA hinting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  606) faults may be controlled by the `numa_balancing_scan_period_min_ms,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  607) numa_balancing_scan_delay_ms, numa_balancing_scan_period_max_ms,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  608) numa_balancing_scan_size_mb`_, and numa_balancing_settle_count sysctls.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  609) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  610) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  611) numa_balancing_scan_period_min_ms, numa_balancing_scan_delay_ms, numa_balancing_scan_period_max_ms, numa_balancing_scan_size_mb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  612) ===============================================================================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  613) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  614) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  615) Automatic NUMA balancing scans tasks address space and unmaps pages to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  616) detect if pages are properly placed or if the data should be migrated to a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  617) memory node local to where the task is running.  Every "scan delay" the task
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  618) scans the next "scan size" number of pages in its address space. When the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  619) end of the address space is reached the scanner restarts from the beginning.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  620) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  621) In combination, the "scan delay" and "scan size" determine the scan rate.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  622) When "scan delay" decreases, the scan rate increases.  The scan delay and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  623) hence the scan rate of every task is adaptive and depends on historical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  624) behaviour. If pages are properly placed then the scan delay increases,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  625) otherwise the scan delay decreases.  The "scan size" is not adaptive but
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  626) the higher the "scan size", the higher the scan rate.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  627) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  628) Higher scan rates incur higher system overhead as page faults must be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  629) trapped and potentially data must be migrated. However, the higher the scan
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  630) rate, the more quickly a tasks memory is migrated to a local node if the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  631) workload pattern changes and minimises performance impact due to remote
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  632) memory accesses. These sysctls control the thresholds for scan delays and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  633) the number of pages scanned.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  634) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  635) ``numa_balancing_scan_period_min_ms`` is the minimum time in milliseconds to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  636) scan a tasks virtual memory. It effectively controls the maximum scanning
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  637) rate for each task.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  638) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  639) ``numa_balancing_scan_delay_ms`` is the starting "scan delay" used for a task
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  640) when it initially forks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  641) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  642) ``numa_balancing_scan_period_max_ms`` is the maximum time in milliseconds to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  643) scan a tasks virtual memory. It effectively controls the minimum scanning
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  644) rate for each task.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  645) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  646) ``numa_balancing_scan_size_mb`` is how many megabytes worth of pages are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  647) scanned for a given scan.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  648) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  649) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  650) oops_all_cpu_backtrace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  651) ======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  652) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  653) If this option is set, the kernel will send an NMI to all CPUs to dump
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  654) their backtraces when an oops event occurs. It should be used as a last
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  655) resort in case a panic cannot be triggered (to protect VMs running, for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  656) example) or kdump can't be collected. This file shows up if CONFIG_SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  657) is enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  658) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  659) 0: Won't show all CPUs backtraces when an oops is detected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  660) This is the default behavior.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  661) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  662) 1: Will non-maskably interrupt all CPUs and dump their backtraces when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  663) an oops event is detected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  664) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  665) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  666) osrelease, ostype & version
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  667) ===========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  668) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  669) ::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  670) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  671)   # cat osrelease
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  672)   2.1.88
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  673)   # cat ostype
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  674)   Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  675)   # cat version
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  676)   #5 Wed Feb 25 21:49:24 MET 1998
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  677) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  678) The files ``osrelease`` and ``ostype`` should be clear enough.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  679) ``version``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  680) needs a little more clarification however. The '#5' means that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  681) this is the fifth kernel built from this source base and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  682) date behind it indicates the time the kernel was built.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  683) The only way to tune these values is to rebuild the kernel :-)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  684) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  685) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  686) overflowgid & overflowuid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  687) =========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  688) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  689) if your architecture did not always support 32-bit UIDs (i.e. arm,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  690) i386, m68k, sh, and sparc32), a fixed UID and GID will be returned to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  691) applications that use the old 16-bit UID/GID system calls, if the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  692) actual UID or GID would exceed 65535.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  693) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  694) These sysctls allow you to change the value of the fixed UID and GID.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  695) The default is 65534.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  696) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  697) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  698) panic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  699) =====
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  700) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  701) The value in this file determines the behaviour of the kernel on a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  702) panic:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  703) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  704) * if zero, the kernel will loop forever;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  705) * if negative, the kernel will reboot immediately;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  706) * if positive, the kernel will reboot after the corresponding number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  707)   of seconds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  708) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  709) When you use the software watchdog, the recommended setting is 60.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  710) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  711) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  712) panic_on_io_nmi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  713) ===============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  714) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  715) Controls the kernel's behavior when a CPU receives an NMI caused by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  716) an IO error.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  717) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  718) = ==================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  719) 0 Try to continue operation (default).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  720) 1 Panic immediately. The IO error triggered an NMI. This indicates a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  721)   serious system condition which could result in IO data corruption.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  722)   Rather than continuing, panicking might be a better choice. Some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  723)   servers issue this sort of NMI when the dump button is pushed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  724)   and you can use this option to take a crash dump.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  725) = ==================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  726) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  727) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  728) panic_on_oops
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  729) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  730) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  731) Controls the kernel's behaviour when an oops or BUG is encountered.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  732) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  733) = ===================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  734) 0 Try to continue operation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  735) 1 Panic immediately.  If the `panic` sysctl is also non-zero then the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  736)   machine will be rebooted.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  737) = ===================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  738) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  739) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  740) panic_on_stackoverflow
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  741) ======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  742) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  743) Controls the kernel's behavior when detecting the overflows of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  744) kernel, IRQ and exception stacks except a user stack.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  745) This file shows up if ``CONFIG_DEBUG_STACKOVERFLOW`` is enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  746) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  747) = ==========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  748) 0 Try to continue operation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  749) 1 Panic immediately.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  750) = ==========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  751) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  752) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  753) panic_on_unrecovered_nmi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  754) ========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  755) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  756) The default Linux behaviour on an NMI of either memory or unknown is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  757) to continue operation. For many environments such as scientific
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  758) computing it is preferable that the box is taken out and the error
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  759) dealt with than an uncorrected parity/ECC error get propagated.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  760) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  761) A small number of systems do generate NMIs for bizarre random reasons
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  762) such as power management so the default is off. That sysctl works like
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  763) the existing panic controls already in that directory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  764) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  765) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  766) panic_on_warn
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  767) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  768) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  769) Calls panic() in the WARN() path when set to 1.  This is useful to avoid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  770) a kernel rebuild when attempting to kdump at the location of a WARN().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  771) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  772) = ================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  773) 0 Only WARN(), default behaviour.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  774) 1 Call panic() after printing out WARN() location.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  775) = ================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  776) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  777) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  778) panic_print
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  779) ===========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  780) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  781) Bitmask for printing system info when panic happens. User can chose
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  782) combination of the following bits:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  783) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  784) =====  ============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  785) bit 0  print all tasks info
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  786) bit 1  print system memory info
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  787) bit 2  print timer info
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  788) bit 3  print locks info if ``CONFIG_LOCKDEP`` is on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  789) bit 4  print ftrace buffer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  790) bit 5  print all printk messages in buffer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  791) =====  ============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  792) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  793) So for example to print tasks and memory info on panic, user can::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  794) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  795)   echo 3 > /proc/sys/kernel/panic_print
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  796) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  797) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  798) panic_on_rcu_stall
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  799) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  800) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  801) When set to 1, calls panic() after RCU stall detection messages. This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  802) is useful to define the root cause of RCU stalls using a vmcore.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  803) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  804) = ============================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  805) 0 Do not panic() when RCU stall takes place, default behavior.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  806) 1 panic() after printing RCU stall messages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  807) = ============================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  808) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  809) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  810) perf_cpu_time_max_percent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  811) =========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  812) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  813) Hints to the kernel how much CPU time it should be allowed to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  814) use to handle perf sampling events.  If the perf subsystem
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  815) is informed that its samples are exceeding this limit, it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  816) will drop its sampling frequency to attempt to reduce its CPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  817) usage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  818) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  819) Some perf sampling happens in NMIs.  If these samples
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  820) unexpectedly take too long to execute, the NMIs can become
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  821) stacked up next to each other so much that nothing else is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  822) allowed to execute.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  823) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  824) ===== ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  825) 0     Disable the mechanism.  Do not monitor or correct perf's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  826)       sampling rate no matter how CPU time it takes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  827) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  828) 1-100 Attempt to throttle perf's sample rate to this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  829)       percentage of CPU.  Note: the kernel calculates an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  830)       "expected" length of each sample event.  100 here means
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  831)       100% of that expected length.  Even if this is set to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  832)       100, you may still see sample throttling if this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  833)       length is exceeded.  Set to 0 if you truly do not care
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  834)       how much CPU is consumed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  835) ===== ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  836) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  837) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  838) perf_event_paranoid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  839) ===================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  840) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  841) Controls use of the performance events system by unprivileged
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  842) users (without CAP_PERFMON).  The default value is 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  843) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  844) For backward compatibility reasons access to system performance
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  845) monitoring and observability remains open for CAP_SYS_ADMIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  846) privileged processes but CAP_SYS_ADMIN usage for secure system
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  847) performance monitoring and observability operations is discouraged
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  848) with respect to CAP_PERFMON use cases.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  849) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  850) ===  ==================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  851)  -1  Allow use of (almost) all events by all users.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  852) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  853)      Ignore mlock limit after perf_event_mlock_kb without
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  854)      ``CAP_IPC_LOCK``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  855) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  856) >=0  Disallow ftrace function tracepoint by users without
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  857)      ``CAP_PERFMON``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  858) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  859)      Disallow raw tracepoint access by users without ``CAP_PERFMON``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  860) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  861) >=1  Disallow CPU event access by users without ``CAP_PERFMON``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  862) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  863) >=2  Disallow kernel profiling by users without ``CAP_PERFMON``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  864) ===  ==================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  865) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  866) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  867) perf_event_max_stack
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  868) ====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  869) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  870) Controls maximum number of stack frames to copy for (``attr.sample_type &
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  871) PERF_SAMPLE_CALLCHAIN``) configured events, for instance, when using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  872) '``perf record -g``' or '``perf trace --call-graph fp``'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  873) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  874) This can only be done when no events are in use that have callchains
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  875) enabled, otherwise writing to this file will return ``-EBUSY``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  876) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  877) The default value is 127.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  878) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  879) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  880) perf_event_mlock_kb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  881) ===================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  882) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  883) Control size of per-cpu ring buffer not counted agains mlock limit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  884) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  885) The default value is 512 + 1 page
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  886) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  887) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  888) perf_event_max_contexts_per_stack
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  889) =================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  890) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  891) Controls maximum number of stack frame context entries for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  892) (``attr.sample_type & PERF_SAMPLE_CALLCHAIN``) configured events, for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  893) instance, when using '``perf record -g``' or '``perf trace --call-graph fp``'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  894) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  895) This can only be done when no events are in use that have callchains
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  896) enabled, otherwise writing to this file will return ``-EBUSY``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  897) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  898) The default value is 8.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  899) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  900) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  901) pid_max
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  902) =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  903) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  904) PID allocation wrap value.  When the kernel's next PID value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  905) reaches this value, it wraps back to a minimum PID value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  906) PIDs of value ``pid_max`` or larger are not allocated.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  907) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  908) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  909) ns_last_pid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  910) ===========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  911) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  912) The last pid allocated in the current (the one task using this sysctl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  913) lives in) pid namespace. When selecting a pid for a next task on fork
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  914) kernel tries to allocate a number starting from this one.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  915) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  916) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  917) powersave-nap (PPC only)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  918) ========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  919) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  920) If set, Linux-PPC will use the 'nap' mode of powersaving,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  921) otherwise the 'doze' mode will be used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  922) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  923) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  924) ==============================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  925) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  926) printk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  927) ======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  928) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  929) The four values in printk denote: ``console_loglevel``,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  930) ``default_message_loglevel``, ``minimum_console_loglevel`` and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  931) ``default_console_loglevel`` respectively.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  932) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  933) These values influence printk() behavior when printing or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  934) logging error messages. See '``man 2 syslog``' for more info on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  935) the different loglevels.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  936) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  937) ======================== =====================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  938) console_loglevel         messages with a higher priority than
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  939)                          this will be printed to the console
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  940) default_message_loglevel messages without an explicit priority
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  941)                          will be printed with this priority
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  942) minimum_console_loglevel minimum (highest) value to which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  943)                          console_loglevel can be set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  944) default_console_loglevel default value for console_loglevel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  945) ======================== =====================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  946) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  947) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  948) printk_delay
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  949) ============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  950) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  951) Delay each printk message in ``printk_delay`` milliseconds
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  952) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  953) Value from 0 - 10000 is allowed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  954) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  955) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  956) printk_ratelimit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  957) ================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  958) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  959) Some warning messages are rate limited. ``printk_ratelimit`` specifies
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  960) the minimum length of time between these messages (in seconds).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  961) The default value is 5 seconds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  962) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  963) A value of 0 will disable rate limiting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  964) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  965) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  966) printk_ratelimit_burst
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  967) ======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  968) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  969) While long term we enforce one message per `printk_ratelimit`_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  970) seconds, we do allow a burst of messages to pass through.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  971) ``printk_ratelimit_burst`` specifies the number of messages we can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  972) send before ratelimiting kicks in.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  973) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  974) The default value is 10 messages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  975) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  976) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  977) printk_devkmsg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  978) ==============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  979) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  980) Control the logging to ``/dev/kmsg`` from userspace:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  981) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  982) ========= =============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  983) ratelimit default, ratelimited
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  984) on        unlimited logging to /dev/kmsg from userspace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  985) off       logging to /dev/kmsg disabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  986) ========= =============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  987) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  988) The kernel command line parameter ``printk.devkmsg=`` overrides this and is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  989) a one-time setting until next reboot: once set, it cannot be changed by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  990) this sysctl interface anymore.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  991) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  992) ==============================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  993) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  994) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  995) pty
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  996) ===
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  997) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  998) See Documentation/filesystems/devpts.rst.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  999) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1000) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1001) random
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1002) ======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1003) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1004) This is a directory, with the following entries:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1005) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1006) * ``boot_id``: a UUID generated the first time this is retrieved, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1007)   unvarying after that;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1008) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1009) * ``entropy_avail``: the pool's entropy count, in bits;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1010) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1011) * ``poolsize``: the entropy pool size, in bits;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1012) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1013) * ``urandom_min_reseed_secs``: obsolete (used to determine the minimum
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1014)   number of seconds between urandom pool reseeding).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1015) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1016) * ``uuid``: a UUID generated every time this is retrieved (this can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1017)   thus be used to generate UUIDs at will);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1018) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1019) * ``write_wakeup_threshold``: when the entropy count drops below this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1020)   (as a number of bits), processes waiting to write to ``/dev/random``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1021)   are woken up.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1022) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1023) If ``drivers/char/random.c`` is built with ``ADD_INTERRUPT_BENCH``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1024) defined, these additional entries are present:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1025) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1026) * ``add_interrupt_avg_cycles``: the average number of cycles between
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1027)   interrupts used to feed the pool;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1028) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1029) * ``add_interrupt_avg_deviation``: the standard deviation seen on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1030)   number of cycles between interrupts used to feed the pool.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1031) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1032) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1033) randomize_va_space
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1034) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1035) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1036) This option can be used to select the type of process address
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1037) space randomization that is used in the system, for architectures
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1038) that support this feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1039) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1040) ==  ===========================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1041) 0   Turn the process address space randomization off.  This is the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1042)     default for architectures that do not support this feature anyways,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1043)     and kernels that are booted with the "norandmaps" parameter.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1044) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1045) 1   Make the addresses of mmap base, stack and VDSO page randomized.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1046)     This, among other things, implies that shared libraries will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1047)     loaded to random addresses.  Also for PIE-linked binaries, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1048)     location of code start is randomized.  This is the default if the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1049)     ``CONFIG_COMPAT_BRK`` option is enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1050) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1051) 2   Additionally enable heap randomization.  This is the default if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1052)     ``CONFIG_COMPAT_BRK`` is disabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1053) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1054)     There are a few legacy applications out there (such as some ancient
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1055)     versions of libc.so.5 from 1996) that assume that brk area starts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1056)     just after the end of the code+bss.  These applications break when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1057)     start of the brk area is randomized.  There are however no known
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1058)     non-legacy applications that would be broken this way, so for most
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1059)     systems it is safe to choose full randomization.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1060) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1061)     Systems with ancient and/or broken binaries should be configured
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1062)     with ``CONFIG_COMPAT_BRK`` enabled, which excludes the heap from process
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1063)     address space randomization.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1064) ==  ===========================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1065) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1066) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1067) real-root-dev
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1068) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1069) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1070) See :doc:`/admin-guide/initrd`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1071) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1072) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1073) reboot-cmd (SPARC only)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1074) =======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1075) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1076) ??? This seems to be a way to give an argument to the Sparc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1077) ROM/Flash boot loader. Maybe to tell it what to do after
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1078) rebooting. ???
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1079) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1080) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1081) sched_energy_aware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1082) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1083) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1084) Enables/disables Energy Aware Scheduling (EAS). EAS starts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1085) automatically on platforms where it can run (that is,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1086) platforms with asymmetric CPU topologies and having an Energy
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1087) Model available). If your platform happens to meet the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1088) requirements for EAS but you do not want to use it, change
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1089) this value to 0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1090) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1091) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1092) sched_schedstats
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1093) ================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1094) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1095) Enables/disables scheduler statistics. Enabling this feature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1096) incurs a small amount of overhead in the scheduler but is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1097) useful for debugging and performance tuning.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1098) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1099) sched_util_clamp_min:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1100) =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1101) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1102) Max allowed *minimum* utilization.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1103) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1104) Default value is 1024, which is the maximum possible value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1105) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1106) It means that any requested uclamp.min value cannot be greater than
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1107) sched_util_clamp_min, i.e., it is restricted to the range
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1108) [0:sched_util_clamp_min].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1109) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1110) sched_util_clamp_max:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1111) =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1113) Max allowed *maximum* utilization.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1114) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1115) Default value is 1024, which is the maximum possible value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1116) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1117) It means that any requested uclamp.max value cannot be greater than
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1118) sched_util_clamp_max, i.e., it is restricted to the range
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1119) [0:sched_util_clamp_max].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1120) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1121) sched_util_clamp_min_rt_default:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1122) ================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1123) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1124) By default Linux is tuned for performance. Which means that RT tasks always run
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1125) at the highest frequency and most capable (highest capacity) CPU (in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1126) heterogeneous systems).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1127) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1128) Uclamp achieves this by setting the requested uclamp.min of all RT tasks to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1129) 1024 by default, which effectively boosts the tasks to run at the highest
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1130) frequency and biases them to run on the biggest CPU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1131) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1132) This knob allows admins to change the default behavior when uclamp is being
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1133) used. In battery powered devices particularly, running at the maximum
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1134) capacity and frequency will increase energy consumption and shorten the battery
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1135) life.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1136) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1137) This knob is only effective for RT tasks which the user hasn't modified their
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1138) requested uclamp.min value via sched_setattr() syscall.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1139) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1140) This knob will not escape the range constraint imposed by sched_util_clamp_min
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1141) defined above.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1142) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1143) For example if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1144) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1145) 	sched_util_clamp_min_rt_default = 800
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1146) 	sched_util_clamp_min = 600
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1147) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1148) Then the boost will be clamped to 600 because 800 is outside of the permissible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1149) range of [0:600]. This could happen for instance if a powersave mode will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1150) restrict all boosts temporarily by modifying sched_util_clamp_min. As soon as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1151) this restriction is lifted, the requested sched_util_clamp_min_rt_default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1152) will take effect.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1153) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1154) seccomp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1155) =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1156) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1157) See :doc:`/userspace-api/seccomp_filter`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1158) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1159) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1160) sg-big-buff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1161) ===========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1162) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1163) This file shows the size of the generic SCSI (sg) buffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1164) You can't tune it just yet, but you could change it on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1165) compile time by editing ``include/scsi/sg.h`` and changing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1166) the value of ``SG_BIG_BUFF``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1167) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1168) There shouldn't be any reason to change this value. If
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1169) you can come up with one, you probably know what you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1170) are doing anyway :)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1171) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1172) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1173) shmall
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1174) ======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1175) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1176) This parameter sets the total amount of shared memory pages that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1177) can be used system wide. Hence, ``shmall`` should always be at least
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1178) ``ceil(shmmax/PAGE_SIZE)``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1179) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1180) If you are not sure what the default ``PAGE_SIZE`` is on your Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1181) system, you can run the following command::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1182) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1183) 	# getconf PAGE_SIZE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1184) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1185) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1186) shmmax
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1187) ======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1188) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1189) This value can be used to query and set the run time limit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1190) on the maximum shared memory segment size that can be created.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1191) Shared memory segments up to 1Gb are now supported in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1192) kernel.  This value defaults to ``SHMMAX``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1193) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1194) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1195) shmmni
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1196) ======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1197) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1198) This value determines the maximum number of shared memory segments.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1199) 4096 by default (``SHMMNI``).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1200) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1201) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1202) shm_rmid_forced
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1203) ===============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1204) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1205) Linux lets you set resource limits, including how much memory one
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1206) process can consume, via ``setrlimit(2)``.  Unfortunately, shared memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1207) segments are allowed to exist without association with any process, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1208) thus might not be counted against any resource limits.  If enabled,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1209) shared memory segments are automatically destroyed when their attach
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1210) count becomes zero after a detach or a process termination.  It will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1211) also destroy segments that were created, but never attached to, on exit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1212) from the process.  The only use left for ``IPC_RMID`` is to immediately
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1213) destroy an unattached segment.  Of course, this breaks the way things are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1214) defined, so some applications might stop working.  Note that this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1215) feature will do you no good unless you also configure your resource
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1216) limits (in particular, ``RLIMIT_AS`` and ``RLIMIT_NPROC``).  Most systems don't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1217) need this.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1218) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1219) Note that if you change this from 0 to 1, already created segments
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1220) without users and with a dead originative process will be destroyed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1221) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1222) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1223) sysctl_writes_strict
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1224) ====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1225) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1226) Control how file position affects the behavior of updating sysctl values
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1227) via the ``/proc/sys`` interface:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1228) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1229)   ==   ======================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1230)   -1   Legacy per-write sysctl value handling, with no printk warnings.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1231)        Each write syscall must fully contain the sysctl value to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1232)        written, and multiple writes on the same sysctl file descriptor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1233)        will rewrite the sysctl value, regardless of file position.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1234)    0   Same behavior as above, but warn about processes that perform writes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1235)        to a sysctl file descriptor when the file position is not 0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1236)    1   (default) Respect file position when writing sysctl strings. Multiple
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1237)        writes will append to the sysctl value buffer. Anything past the max
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1238)        length of the sysctl value buffer will be ignored. Writes to numeric
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1239)        sysctl entries must always be at file position 0 and the value must
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1240)        be fully contained in the buffer sent in the write syscall.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1241)   ==   ======================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1242) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1243) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1244) softlockup_all_cpu_backtrace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1245) ============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1246) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1247) This value controls the soft lockup detector thread's behavior
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1248) when a soft lockup condition is detected as to whether or not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1249) to gather further debug information. If enabled, each cpu will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1250) be issued an NMI and instructed to capture stack trace.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1251) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1252) This feature is only applicable for architectures which support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1253) NMI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1254) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1255) = ============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1256) 0 Do nothing. This is the default behavior.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1257) 1 On detection capture more debug information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1258) = ============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1259) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1260) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1261) softlockup_panic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1262) =================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1263) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1264) This parameter can be used to control whether the kernel panics
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1265) when a soft lockup is detected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1266) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1267) = ============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1268) 0 Don't panic on soft lockup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1269) 1 Panic on soft lockup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1270) = ============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1271) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1272) This can also be set using the softlockup_panic kernel parameter.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1273) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1274) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1275) soft_watchdog
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1276) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1277) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1278) This parameter can be used to control the soft lockup detector.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1279) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1280) = =================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1281) 0 Disable the soft lockup detector.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1282) 1 Enable the soft lockup detector.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1283) = =================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1284) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1285) The soft lockup detector monitors CPUs for threads that are hogging the CPUs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1286) without rescheduling voluntarily, and thus prevent the 'watchdog/N' threads
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1287) from running. The mechanism depends on the CPUs ability to respond to timer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1288) interrupts which are needed for the 'watchdog/N' threads to be woken up by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1289) the watchdog timer function, otherwise the NMI watchdog — if enabled — can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1290) detect a hard lockup condition.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1291) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1292) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1293) stack_erasing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1294) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1295) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1296) This parameter can be used to control kernel stack erasing at the end
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1297) of syscalls for kernels built with ``CONFIG_GCC_PLUGIN_STACKLEAK``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1298) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1299) That erasing reduces the information which kernel stack leak bugs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1300) can reveal and blocks some uninitialized stack variable attacks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1301) The tradeoff is the performance impact: on a single CPU system kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1302) compilation sees a 1% slowdown, other systems and workloads may vary.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1303) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1304) = ====================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1305) 0 Kernel stack erasing is disabled, STACKLEAK_METRICS are not updated.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1306) 1 Kernel stack erasing is enabled (default), it is performed before
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1307)   returning to the userspace at the end of syscalls.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1308) = ====================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1309) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1310) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1311) stop-a (SPARC only)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1312) ===================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1313) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1314) Controls Stop-A:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1315) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1316) = ====================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1317) 0 Stop-A has no effect.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1318) 1 Stop-A breaks to the PROM (default).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1319) = ====================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1320) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1321) Stop-A is always enabled on a panic, so that the user can return to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1322) the boot PROM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1323) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1324) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1325) sysrq
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1326) =====
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1327) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1328) See :doc:`/admin-guide/sysrq`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1329) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1330) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1331) tainted
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1332) =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1333) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1334) Non-zero if the kernel has been tainted. Numeric values, which can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1335) ORed together. The letters are seen in "Tainted" line of Oops reports.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1336) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1337) ======  =====  ==============================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1338)      1  `(P)`  proprietary module was loaded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1339)      2  `(F)`  module was force loaded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1340)      4  `(S)`  SMP kernel oops on an officially SMP incapable processor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1341)      8  `(R)`  module was force unloaded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1342)     16  `(M)`  processor reported a Machine Check Exception (MCE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1343)     32  `(B)`  bad page referenced or some unexpected page flags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1344)     64  `(U)`  taint requested by userspace application
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1345)    128  `(D)`  kernel died recently, i.e. there was an OOPS or BUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1346)    256  `(A)`  an ACPI table was overridden by user
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1347)    512  `(W)`  kernel issued warning
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1348)   1024  `(C)`  staging driver was loaded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1349)   2048  `(I)`  workaround for bug in platform firmware applied
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1350)   4096  `(O)`  externally-built ("out-of-tree") module was loaded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1351)   8192  `(E)`  unsigned module was loaded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1352)  16384  `(L)`  soft lockup occurred
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1353)  32768  `(K)`  kernel has been live patched
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1354)  65536  `(X)`  Auxiliary taint, defined and used by for distros
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1355) 131072  `(T)`  The kernel was built with the struct randomization plugin
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1356) ======  =====  ==============================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1357) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1358) See :doc:`/admin-guide/tainted-kernels` for more information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1359) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1360) Note:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1361)   writes to this sysctl interface will fail with ``EINVAL`` if the kernel is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1362)   booted with the command line option ``panic_on_taint=<bitmask>,nousertaint``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1363)   and any of the ORed together values being written to ``tainted`` match with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1364)   the bitmask declared on panic_on_taint.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1365)   See :doc:`/admin-guide/kernel-parameters` for more details on that particular
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1366)   kernel command line option and its optional ``nousertaint`` switch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1367) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1368) threads-max
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1369) ===========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1370) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1371) This value controls the maximum number of threads that can be created
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1372) using ``fork()``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1373) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1374) During initialization the kernel sets this value such that even if the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1375) maximum number of threads is created, the thread structures occupy only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1376) a part (1/8th) of the available RAM pages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1377) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1378) The minimum value that can be written to ``threads-max`` is 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1379) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1380) The maximum value that can be written to ``threads-max`` is given by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1381) constant ``FUTEX_TID_MASK`` (0x3fffffff).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1382) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1383) If a value outside of this range is written to ``threads-max`` an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1384) ``EINVAL`` error occurs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1385) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1386) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1387) traceoff_on_warning
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1388) ===================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1389) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1390) When set, disables tracing (see :doc:`/trace/ftrace`) when a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1391) ``WARN()`` is hit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1392) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1393) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1394) tracepoint_printk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1395) =================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1396) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1397) When tracepoints are sent to printk() (enabled by the ``tp_printk``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1398) boot parameter), this entry provides runtime control::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1399) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1400)     echo 0 > /proc/sys/kernel/tracepoint_printk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1401) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1402) will stop tracepoints from being sent to printk(), and::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1403) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1404)     echo 1 > /proc/sys/kernel/tracepoint_printk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1405) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1406) will send them to printk() again.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1407) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1408) This only works if the kernel was booted with ``tp_printk`` enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1409) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1410) See :doc:`/admin-guide/kernel-parameters` and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1411) :doc:`/trace/boottime-trace`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1412) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1413) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1414) .. _unaligned-dump-stack:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1415) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1416) unaligned-dump-stack (ia64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1417) ===========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1418) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1419) When logging unaligned accesses, controls whether the stack is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1420) dumped.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1421) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1422) = ===================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1423) 0 Do not dump the stack. This is the default setting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1424) 1 Dump the stack.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1425) = ===================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1426) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1427) See also `ignore-unaligned-usertrap`_.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1428) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1429) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1430) unaligned-trap
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1431) ==============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1432) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1433) On architectures where unaligned accesses cause traps, and where this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1434) feature is supported (``CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW``; currently,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1435) ``arc`` and ``parisc``), controls whether unaligned traps are caught
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1436) and emulated (instead of failing).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1437) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1438) = ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1439) 0 Do not emulate unaligned accesses.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1440) 1 Emulate unaligned accesses. This is the default setting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1441) = ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1442) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1443) See also `ignore-unaligned-usertrap`_.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1444) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1445) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1446) unknown_nmi_panic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1447) =================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1448) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1449) The value in this file affects behavior of handling NMI. When the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1450) value is non-zero, unknown NMI is trapped and then panic occurs. At
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1451) that time, kernel debugging information is displayed on console.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1452) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1453) NMI switch that most IA32 servers have fires unknown NMI up, for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1454) example.  If a system hangs up, try pressing the NMI switch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1455) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1456) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1457) unprivileged_bpf_disabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1458) =========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1459) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1460) Writing 1 to this entry will disable unprivileged calls to ``bpf()``;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1461) once disabled, calling ``bpf()`` without ``CAP_SYS_ADMIN`` or ``CAP_BPF``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1462) will return ``-EPERM``. Once set to 1, this can't be cleared from the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1463) running kernel anymore.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1464) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1465) Writing 2 to this entry will also disable unprivileged calls to ``bpf()``,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1466) however, an admin can still change this setting later on, if needed, by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1467) writing 0 or 1 to this entry.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1468) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1469) If ``BPF_UNPRIV_DEFAULT_OFF`` is enabled in the kernel config, then this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1470) entry will default to 2 instead of 0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1471) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1472) = =============================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1473) 0 Unprivileged calls to ``bpf()`` are enabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1474) 1 Unprivileged calls to ``bpf()`` are disabled without recovery
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1475) 2 Unprivileged calls to ``bpf()`` are disabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1476) = =============================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1477) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1478) watchdog
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1479) ========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1480) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1481) This parameter can be used to disable or enable the soft lockup detector
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1482) *and* the NMI watchdog (i.e. the hard lockup detector) at the same time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1483) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1484) = ==============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1485) 0 Disable both lockup detectors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1486) 1 Enable both lockup detectors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1487) = ==============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1488) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1489) The soft lockup detector and the NMI watchdog can also be disabled or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1490) enabled individually, using the ``soft_watchdog`` and ``nmi_watchdog``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1491) parameters.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1492) If the ``watchdog`` parameter is read, for example by executing::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1493) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1494)    cat /proc/sys/kernel/watchdog
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1495) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1496) the output of this command (0 or 1) shows the logical OR of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1497) ``soft_watchdog`` and ``nmi_watchdog``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1498) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1499) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1500) watchdog_cpumask
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1501) ================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1502) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1503) This value can be used to control on which cpus the watchdog may run.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1504) The default cpumask is all possible cores, but if ``NO_HZ_FULL`` is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1505) enabled in the kernel config, and cores are specified with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1506) ``nohz_full=`` boot argument, those cores are excluded by default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1507) Offline cores can be included in this mask, and if the core is later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1508) brought online, the watchdog will be started based on the mask value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1509) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1510) Typically this value would only be touched in the ``nohz_full`` case
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1511) to re-enable cores that by default were not running the watchdog,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1512) if a kernel lockup was suspected on those cores.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1513) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1514) The argument value is the standard cpulist format for cpumasks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1515) so for example to enable the watchdog on cores 0, 2, 3, and 4 you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1516) might say::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1517) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1518)   echo 0,2-4 > /proc/sys/kernel/watchdog_cpumask
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1519) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1520) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1521) watchdog_thresh
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1522) ===============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1523) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1524) This value can be used to control the frequency of hrtimer and NMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1525) events and the soft and hard lockup thresholds. The default threshold
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1526) is 10 seconds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1527) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1528) The softlockup threshold is (``2 * watchdog_thresh``). Setting this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1529) tunable to zero will disable lockup detection altogether.