sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget-/translations/zh_CN/admin-guide/sysctl/kernelmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/zh_TW/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/it_IT/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/ja_JP/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/ko_KR/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/pt_BR/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/sp_SP/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(h#Documentation for /proc/sys/kernel/h]h#Documentation for /proc/sys/kernel/}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhG/var/lib/git/docbuild/linux/Documentation/admin-guide/sysctl/kernel.rsthKubhcomment)}(h5See scripts/check-sysctl-docs to keep this up to dateh]h5See scripts/check-sysctl-docs to keep this up to date}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhhhKubh paragraph)}(h;Copyright (c) 1998, 1999, Rik van Riel h](h)Copyright (c) 1998, 1999, Rik van Riel <}(hhhhhNhNubh reference)}(hriel@nl.linux.orgh]hriel@nl.linux.org}(hhhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:riel@nl.linux.orguh1hhhubh>}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h9Copyright (c) 2009, Shen Fengh](h%Copyright (c) 2009, Shen Feng<}(hjhhhNhNubh)}(hshen@cn.fujitsu.comh]hshen@cn.fujitsu.com}(hj hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:shen@cn.fujitsu.comuh1hhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(h\For general info and legal blurb, please look in Documentation/admin-guide/sysctl/index.rst.h]h\For general info and legal blurb, please look in Documentation/admin-guide/sysctl/index.rst.}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh transition)}(hN------------------------------------------------------------------------------h]h}(h]h ]h"]h$]h&]uh1j3hhhKhhhhubh)}(hOThis file contains documentation for the sysctl files in ``/proc/sys/kernel/``.h](h9This file contains documentation for the sysctl files in }(hj?hhhNhNubhliteral)}(h``/proc/sys/kernel/``h]h/proc/sys/kernel/}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj?ubh.}(hj?hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hXThe files in this directory can be used to tune and monitor miscellaneous and general things in the operation of the Linux kernel. Since some of the files *can* be used to screw up your system, it is advisable to read both documentation and source before actually making adjustments.h](hThe files in this directory can be used to tune and monitor miscellaneous and general things in the operation of the Linux kernel. Since some of the files }(hjahhhNhNubhemphasis)}(h*can*h]hcan}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jihjaubh{ be used to screw up your system, it is advisable to read both documentation and source before actually making adjustments.}(hjahhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h_Currently, these files might (depending on your configuration) show up in ``/proc/sys/kernel``:h](hJCurrently, these files might (depending on your configuration) show up in }(hjhhhNhNubjH)}(h``/proc/sys/kernel``h]h/proc/sys/kernel}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubhtopic)}(hhh]h bullet_list)}(hhh](h list_item)}(hhh]h)}(hhh]h)}(hhh]hacct}(hjhhhNhNubah}(h]id2ah ]h"]h$]h&]refidacctuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hacpi_video_flags}(hjhhhNhNubah}(h]id3ah ]h"]h$]h&]refidacpi-video-flagsuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]harch}(hjhhhNhNubah}(h]id4ah ]h"]h$]h&]refidarchuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h auto_msgmni}(hjhhhNhNubah}(h]id5ah ]h"]h$]h&]refid auto-msgmniuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hbootloader_type (x86 only)}(hj=hhhNhNubah}(h]id6ah ]h"]h$]h&]refidbootloader-type-x86-onlyuh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hbootloader_version (x86 only)}(hj_hhhNhNubah}(h]id7ah ]h"]h$]h&]refidbootloader-version-x86-onlyuh1hhj\ubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hbpf_stats_enabled}(hjhhhNhNubah}(h]id8ah ]h"]h$]h&]refidbpf-stats-enableduh1hhj~ubah}(h]h ]h"]h$]h&]uh1hhj{ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hcad_pid}(hjhhhNhNubah}(h]id9ah ]h"]h$]h&]refidcad-piduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h cap_last_cap}(hjhhhNhNubah}(h]id10ah ]h"]h$]h&]refid cap-last-capuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h core_pattern}(hjhhhNhNubah}(h]id11ah ]h"]h$]h&]refid core-patternuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hcore_pipe_limit}(hj hhhNhNubah}(h]id12ah ]h"]h$]h&]refidcore-pipe-limituh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h core_sort_vma}(hj+hhhNhNubah}(h]id13ah ]h"]h$]h&]refid core-sort-vmauh1hhj(ubah}(h]h ]h"]h$]h&]uh1hhj%ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h core_uses_pid}(hjMhhhNhNubah}(h]id14ah ]h"]h$]h&]refid core-uses-piduh1hhjJubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h ctrl-alt-del}(hjohhhNhNubah}(h]id15ah ]h"]h$]h&]refid ctrl-alt-deluh1hhjlubah}(h]h ]h"]h$]h&]uh1hhjiubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hdmesg_restrict}(hjhhhNhNubah}(h]id16ah ]h"]h$]h&]refiddmesg-restrictuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hdomainname & hostname}(hjhhhNhNubah}(h]id17ah ]h"]h$]h&]refiddomainname-hostnameuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hfirmware_config}(hjhhhNhNubah}(h]id18ah ]h"]h$]h&]refidfirmware-configuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hftrace_dump_on_oops}(hjhhhNhNubah}(h]id19ah ]h"]h$]h&]refidftrace-dump-on-oopsuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h$ftrace_enabled, stack_tracer_enabled}(hjhhhNhNubah}(h]id20ah ]h"]h$]h&]refid#ftrace-enabled-stack-tracer-enableduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhardlockup_all_cpu_backtrace}(hj;hhhNhNubah}(h]id21ah ]h"]h$]h&]refidhardlockup-all-cpu-backtraceuh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhardlockup_panic}(hj]hhhNhNubah}(h]id22ah ]h"]h$]h&]refidhardlockup-panicuh1hhjZubah}(h]h ]h"]h$]h&]uh1hhjWubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhotplug}(hjhhhNhNubah}(h]id23ah ]h"]h$]h&]refidhotpluguh1hhj|ubah}(h]h ]h"]h$]h&]uh1hhjyubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_all_cpu_backtrace}(hjhhhNhNubah}(h]id24ah ]h"]h$]h&]refidhung-task-all-cpu-backtraceuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_panic}(hjhhhNhNubah}(h]id25ah ]h"]h$]h&]refidhung-task-panicuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_check_count}(hjhhhNhNubah}(h]id26ah ]h"]h$]h&]refidhung-task-check-countuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_detect_count}(hjhhhNhNubah}(h]id27ah ]h"]h$]h&]refidhung-task-detect-countuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_sys_info}(hj)hhhNhNubah}(h]id28ah ]h"]h$]h&]refidhung-task-sys-infouh1hhj&ubah}(h]h ]h"]h$]h&]uh1hhj#ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_timeout_secs}(hjKhhhNhNubah}(h]id29ah ]h"]h$]h&]refidhung-task-timeout-secsuh1hhjHubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_check_interval_secs}(hjmhhhNhNubah}(h]id30ah ]h"]h$]h&]refidhung-task-check-interval-secsuh1hhjjubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_warnings}(hjhhhNhNubah}(h]id31ah ]h"]h$]h&]refidhung-task-warningsuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhyperv_record_panic_msg}(hjhhhNhNubah}(h]id32ah ]h"]h$]h&]refidhyperv-record-panic-msguh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hignore-unaligned-usertrap}(hjhhhNhNubah}(h]id33ah ]h"]h$]h&]refidignore-unaligned-usertrapuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hio_uring_disabled}(hjhhhNhNubah}(h]id34ah ]h"]h$]h&]refidio-uring-disableduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hio_uring_group}(hjhhhNhNubah}(h]id35ah ]h"]h$]h&]refidio-uring-groupuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkernel_sys_info}(hj9hhhNhNubah}(h]id36ah ]h"]h$]h&]refidkernel-sys-infouh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkexec_load_disabled}(hj[hhhNhNubah}(h]id37ah ]h"]h$]h&]refidkexec-load-disableduh1hhjXubah}(h]h ]h"]h$]h&]uh1hhjUubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkexec_load_limit_panic}(hj}hhhNhNubah}(h]id38ah ]h"]h$]h&]refidkexec-load-limit-panicuh1hhjzubah}(h]h ]h"]h$]h&]uh1hhjwubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkexec_load_limit_reboot}(hjhhhNhNubah}(h]id39ah ]h"]h$]h&]refidkexec-load-limit-rebootuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h kptr_restrict}(hjhhhNhNubah}(h]id40ah ]h"]h$]h&]refid kptr-restrictuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h)softlockup_sys_info & hardlockup_sys_info}(hjhhhNhNubah}(h]id41ah ]h"]h$]h&]refid'softlockup-sys-info-hardlockup-sys-infouh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmodprobe}(hjhhhNhNubah}(h]id42ah ]h"]h$]h&]refidmodprobeuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmodules_disabled}(hj'hhhNhNubah}(h]id43ah ]h"]h$]h&]refidmodules-disableduh1hhj$ubah}(h]h ]h"]h$]h&]uh1hhj!ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmsgmax, msgmnb, and msgmni}(hjIhhhNhNubah}(h]id44ah ]h"]h$]h&]refidmsgmax-msgmnb-and-msgmniuh1hhjFubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h8msg_next_id, sem_next_id, and shm_next_id (System V IPC)}(hjkhhhNhNubah}(h]id45ah ]h"]h$]h&]refid4msg-next-id-sem-next-id-and-shm-next-id-system-v-ipcuh1hhjhubah}(h]h ]h"]h$]h&]uh1hhjeubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h ngroups_max}(hjhhhNhNubah}(h]id46ah ]h"]h$]h&]refid ngroups-maxuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h nmi_watchdog}(hjhhhNhNubah}(h]id47ah ]h"]h$]h&]refid nmi-watchdoguh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hnmi_wd_lpm_factor (PPC only)}(hjhhhNhNubah}(h]id48ah ]h"]h$]h&]refidnmi-wd-lpm-factor-ppc-onlyuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hnuma_balancing}(hjhhhNhNubah}(h]id49ah ]h"]h$]h&]refidnuma-balancinguh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h&numa_balancing_promote_rate_limit_MBps}(hjhhhNhNubah}(h]id50ah ]h"]h$]h&]refid&numa-balancing-promote-rate-limit-mbpsuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hoops_all_cpu_backtrace}(hj7hhhNhNubah}(h]id51ah ]h"]h$]h&]refidoops-all-cpu-backtraceuh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h oops_limit}(hjYhhhNhNubah}(h]id52ah ]h"]h$]h&]refid oops-limituh1hhjVubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hosrelease, ostype & version}(hj{hhhNhNubah}(h]id53ah ]h"]h$]h&]refidosrelease-ostype-versionuh1hhjxubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hoverflowgid & overflowuid}(hjhhhNhNubah}(h]id54ah ]h"]h$]h&]refidoverflowgid-overflowuiduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic}(hjhhhNhNubah}(h]id55ah ]h"]h$]h&]refidpanicuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_io_nmi}(hjhhhNhNubah}(h]id56ah ]h"]h$]h&]refidpanic-on-io-nmiuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h panic_on_oops}(hj hhhNhNubah}(h]id57ah ]h"]h$]h&]refid panic-on-oopsuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_stackoverflow}(hj% hhhNhNubah}(h]id58ah ]h"]h$]h&]refidpanic-on-stackoverflowuh1hhj" ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_unrecovered_nmi}(hjG hhhNhNubah}(h]id59ah ]h"]h$]h&]refidpanic-on-unrecovered-nmiuh1hhjD ubah}(h]h ]h"]h$]h&]uh1hhjA ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h panic_on_warn}(hji hhhNhNubah}(h]id60ah ]h"]h$]h&]refid panic-on-warnuh1hhjf ubah}(h]h ]h"]h$]h&]uh1hhjc ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h panic_print}(hj hhhNhNubah}(h]id61ah ]h"]h$]h&]refid panic-printuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_sys_info}(hj hhhNhNubah}(h]id62ah ]h"]h$]h&]refidpanic-sys-infouh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_rcu_stall}(hj hhhNhNubah}(h]id63ah ]h"]h$]h&]refidpanic-on-rcu-stalluh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmax_rcu_stall_to_panic}(hj hhhNhNubah}(h]id64ah ]h"]h$]h&]refidmax-rcu-stall-to-panicuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hperf_cpu_time_max_percent}(hj hhhNhNubah}(h]id65ah ]h"]h$]h&]refidperf-cpu-time-max-percentuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hperf_event_paranoid}(hj5 hhhNhNubah}(h]id66ah ]h"]h$]h&]refidperf-event-paranoiduh1hhj2 ubah}(h]h ]h"]h$]h&]uh1hhj/ ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hperf_event_max_stack}(hjW hhhNhNubah}(h]id67ah ]h"]h$]h&]refidperf-event-max-stackuh1hhjT ubah}(h]h ]h"]h$]h&]uh1hhjQ ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hperf_event_mlock_kb}(hjy hhhNhNubah}(h]id68ah ]h"]h$]h&]refidperf-event-mlock-kbuh1hhjv ubah}(h]h ]h"]h$]h&]uh1hhjs ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h!perf_event_max_contexts_per_stack}(hj hhhNhNubah}(h]id69ah ]h"]h$]h&]refid!perf-event-max-contexts-per-stackuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h'perf_user_access (arm64 and riscv only)}(hj hhhNhNubah}(h]id70ah ]h"]h$]h&]refid%perf-user-access-arm64-and-riscv-onlyuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpid_max}(hj hhhNhNubah}(h]id71ah ]h"]h$]h&]refidpid-maxuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h ns_last_pid}(hj hhhNhNubah}(h]id72ah ]h"]h$]h&]refid ns-last-piduh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpowersave-nap (PPC only)}(hj# hhhNhNubah}(h]id73ah ]h"]h$]h&]refidpowersave-nap-ppc-onlyuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hprintk}(hjE hhhNhNubah}(h]id74ah ]h"]h$]h&]refidprintkuh1hhjB ubah}(h]h ]h"]h$]h&]uh1hhj? ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h printk_delay}(hjg hhhNhNubah}(h]id75ah ]h"]h$]h&]refid printk-delayuh1hhjd ubah}(h]h ]h"]h$]h&]uh1hhja ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hprintk_ratelimit}(hj hhhNhNubah}(h]id76ah ]h"]h$]h&]refidprintk-ratelimituh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hprintk_ratelimit_burst}(hj hhhNhNubah}(h]id77ah ]h"]h$]h&]refidprintk-ratelimit-burstuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hprintk_devkmsg}(hj hhhNhNubah}(h]id78ah ]h"]h$]h&]refidprintk-devkmsguh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpty}(hj hhhNhNubah}(h]id79ah ]h"]h$]h&]refidptyuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hrandom}(hj hhhNhNubah}(h]id80ah ]h"]h$]h&]refidrandomuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hrandomize_va_space}(hj3 hhhNhNubah}(h]id81ah ]h"]h$]h&]refidrandomize-va-spaceuh1hhj0 ubah}(h]h ]h"]h$]h&]uh1hhj- ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hreboot-cmd (SPARC only)}(hjU hhhNhNubah}(h]id82ah ]h"]h$]h&]refidreboot-cmd-sparc-onlyuh1hhjR ubah}(h]h ]h"]h$]h&]uh1hhjO ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsched_energy_aware}(hjw hhhNhNubah}(h]id83ah ]h"]h$]h&]refidsched-energy-awareuh1hhjt ubah}(h]h ]h"]h$]h&]uh1hhjq ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htask_delayacct}(hj hhhNhNubah}(h]id84ah ]h"]h$]h&]refidtask-delayacctuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsched_schedstats}(hj hhhNhNubah}(h]id85ah ]h"]h$]h&]refidsched-schedstatsuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsched_util_clamp_min}(hj hhhNhNubah}(h]id86ah ]h"]h$]h&]refidsched-util-clamp-minuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsched_util_clamp_max}(hj hhhNhNubah}(h]id87ah ]h"]h$]h&]refidsched-util-clamp-maxuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsched_util_clamp_min_rt_default}(hj! hhhNhNubah}(h]id88ah ]h"]h$]h&]refidsched-util-clamp-min-rt-defaultuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hseccomp}(hjC hhhNhNubah}(h]id89ah ]h"]h$]h&]refidseccompuh1hhj@ ubah}(h]h ]h"]h$]h&]uh1hhj= ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h sg-big-buff}(hje hhhNhNubah}(h]id90ah ]h"]h$]h&]refid sg-big-buffuh1hhjb ubah}(h]h ]h"]h$]h&]uh1hhj_ ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshmall}(hj hhhNhNubah}(h]id91ah ]h"]h$]h&]refidshmalluh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshmmax}(hj hhhNhNubah}(h]id92ah ]h"]h$]h&]refidshmmaxuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshmmni}(hj hhhNhNubah}(h]id93ah ]h"]h$]h&]refidshmmniuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshm_rmid_forced}(hj hhhNhNubah}(h]id94ah ]h"]h$]h&]refidshm-rmid-forceduh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsysctl_writes_strict}(hjhhhNhNubah}(h]id95ah ]h"]h$]h&]refidsysctl-writes-strictuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsoftlockup_all_cpu_backtrace}(hj1hhhNhNubah}(h]id96ah ]h"]h$]h&]refidsoftlockup-all-cpu-backtraceuh1hhj.ubah}(h]h ]h"]h$]h&]uh1hhj+ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsoftlockup_panic}(hjShhhNhNubah}(h]id97ah ]h"]h$]h&]refidsoftlockup-panicuh1hhjPubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h soft_watchdog}(hjuhhhNhNubah}(h]id98ah ]h"]h$]h&]refid soft-watchdoguh1hhjrubah}(h]h ]h"]h$]h&]uh1hhjoubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsplit_lock_mitigate (x86 only)}(hjhhhNhNubah}(h]id99ah ]h"]h$]h&]refidsplit-lock-mitigate-x86-onlyuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h stack_erasing}(hjhhhNhNubah}(h]id100ah ]h"]h$]h&]refid stack-erasinguh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hstop-a (SPARC only)}(hjhhhNhNubah}(h]id101ah ]h"]h$]h&]refidstop-a-sparc-onlyuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsysrq}(hjhhhNhNubah}(h]id102ah ]h"]h$]h&]refidsysrquh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htainted}(hjhhhNhNubah}(h]id103ah ]h"]h$]h&]refidtainteduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h threads-max}(hjAhhhNhNubah}(h]id104ah ]h"]h$]h&]refid threads-maxuh1hhj>ubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htimer_migration}(hjchhhNhNubah}(h]id105ah ]h"]h$]h&]refidtimer-migrationuh1hhj`ubah}(h]h ]h"]h$]h&]uh1hhj]ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htraceoff_on_warning}(hjhhhNhNubah}(h]id106ah ]h"]h$]h&]refidtraceoff-on-warninguh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htracepoint_printk}(hjhhhNhNubah}(h]id107ah ]h"]h$]h&]refidtracepoint-printkuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hunaligned-trap}(hjhhhNhNubah}(h]id108ah ]h"]h$]h&]refidunaligned-trapuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hunknown_nmi_panic}(hjhhhNhNubah}(h]id109ah ]h"]h$]h&]refidunknown-nmi-panicuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hunprivileged_bpf_disabled}(hj hhhNhNubah}(h]id110ah ]h"]h$]h&]refidunprivileged-bpf-disableduh1hhj ubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h warn_limit}(hj/hhhNhNubah}(h]id111ah ]h"]h$]h&]refid warn-limituh1hhj,ubah}(h]h ]h"]h$]h&]uh1hhj)ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hwatchdog}(hjQhhhNhNubah}(h]id112ah ]h"]h$]h&]refidwatchdoguh1hhjNubah}(h]h ]h"]h$]h&]uh1hhjKubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hwatchdog_cpumask}(hjshhhNhNubah}(h]id113ah ]h"]h$]h&]refidwatchdog-cpumaskuh1hhjpubah}(h]h ]h"]h$]h&]uh1hhjmubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hwatchdog_thresh}(hjhhhNhNubah}(h]id114ah ]h"]h$]h&]refidwatchdog-threshuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhhhNhNubah}(h]contentsah ](contentslocaleh"]contentsah$]h&]uh1jhhhKhhhhubh)}(hhh](h)}(haccth]hacct}(hjhhhNhNubah}(h]h ]h"]h$]h&]refidjuh1hhjhhhhhK!ubh literal_block)}(hhighwater lowwater frequencyh]hhighwater lowwater frequency}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhK%hjhhubh)}(hXTIf BSD-style process accounting is enabled these values control its behaviour. If free space on filesystem where the log lives goes below ``lowwater``\ % accounting suspends. If free space gets above ``highwater``\ % accounting resumes. ``frequency`` determines how often do we check the amount of free space (value is in seconds). Default:h](hIf BSD-style process accounting is enabled these values control its behaviour. If free space on filesystem where the log lives goes below }(hjhhhNhNubjH)}(h ``lowwater``h]hlowwater}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh2 % accounting suspends. If free space gets above }(hjhhhNhNubjH)}(h ``highwater``h]h highwater}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh % accounting resumes. }(hjhhhNhNubjH)}(h ``frequency``h]h frequency}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubhZ determines how often do we check the amount of free space (value is in seconds). Default:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK'hjhhubj)}(h4 2 30h]h4 2 30}hj'sbah}(h]h ]h"]h$]h&]hhuh1jhhhK0hjhhubh)}(hThat is, suspend accounting if free space drops below 2%; resume it if it increases to at least 4%; consider information about amount of free space valid for 30 seconds.h]hThat is, suspend accounting if free space drops below 2%; resume it if it increases to at least 4%; consider information about amount of free space valid for 30 seconds.}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK2hjhhubeh}(h]jah ]h"]acctah$]h&]uh1hhhhhhhhK!ubh)}(hhh](h)}(hacpi_video_flagsh]hacpi_video_flags}(hjMhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjJhhhhhK8ubh)}(hSee Documentation/power/video.rst. This allows the video resume mode to be set, in a similar fashion to the ``acpi_sleep`` kernel parameter, by combining the following values:h](hlSee Documentation/power/video.rst. This allows the video resume mode to be set, in a similar fashion to the }(hj[hhhNhNubjH)}(h``acpi_sleep``h]h acpi_sleep}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj[ubh5 kernel parameter, by combining the following values:}(hj[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK:hjJhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h1h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs3_biosh]hs3_bios}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h2h]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs3_modeh]hs3_mode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h4h]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs3_beeph]hs3_beep}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhj,ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhj}ubah}(h]h ]h"]h$]h&]uh1j{hjJhhhhhNubeh}(h]jah ]h"]acpi_video_flagsah$]h&]uh1hhhhhhhhK8ubh)}(hhh](h)}(harchh]harch}(hjfhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjchhhhhKEubh)}(h\The machine hardware name, the same output as ``uname -m`` (e.g. ``x86_64`` or ``aarch64``).h](h.The machine hardware name, the same output as }(hjthhhNhNubjH)}(h ``uname -m``h]huname -m}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjtubh (e.g. }(hjthhhNhNubjH)}(h ``x86_64``h]hx86_64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjtubh or }(hjthhhNhNubjH)}(h ``aarch64``h]haarch64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjtubh).}(hjthhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKGhjchhubeh}(h]jah ]h"]archah$]h&]uh1hhhhhhhhKEubh)}(hhh](h)}(h auto_msgmnih]h auto_msgmni}(hjhhhNhNubah}(h]h ]h"]h$]h&]jj$uh1hhjhhhhhKKubh)}(hXcThis variable has no effect and may be removed in future kernel releases. Reading it always returns 0. Up to Linux 3.17, it enabled/disabled automatic recomputing of `msgmni`_ upon memory add/remove or upon IPC namespace creation/removal. Echoing "1" into this file enabled msgmni automatic recomputing. Echoing "0" turned it off. The default value was 1.h](hThis variable has no effect and may be removed in future kernel releases. Reading it always returns 0. Up to Linux 3.17, it enabled/disabled automatic recomputing of }(hjhhhNhNubh)}(h `msgmni`_h]hmsgmni}(hjhhhNhNubah}(h]h ]h"]h$]h&]namemsgmnijmsgmniuh1hhjresolvedKubh upon memory add/remove or upon IPC namespace creation/removal. Echoing “1” into this file enabled msgmni automatic recomputing. Echoing “0” turned it off. The default value was 1.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKMhjhhubeh}(h]j*ah ]h"] auto_msgmniah$]h&]uh1hhhhhhhhKKubh)}(hhh](h)}(hbootloader_type (x86 only)h]hbootloader_type (x86 only)}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjFuh1hhjhhhhhKWubh)}(hXThis gives the bootloader type number as indicated by the bootloader, shifted left by 4, and OR'd with the low four bits of the bootloader version. The reason for this encoding is that this used to match the ``type_of_loader`` field in the kernel header; the encoding is kept for backwards compatibility. That is, if the full bootloader type number is 0x15 and the full version number is 0x234, this file will contain the value 340 = 0x154.h](hThis gives the bootloader type number as indicated by the bootloader, shifted left by 4, and OR’d with the low four bits of the bootloader version. The reason for this encoding is that this used to match the }(hj hhhNhNubjH)}(h``type_of_loader``h]htype_of_loader}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj ubh field in the kernel header; the encoding is kept for backwards compatibility. That is, if the full bootloader type number is 0x15 and the full version number is 0x234, this file will contain the value 340 = 0x154.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKYhjhhubh)}(hxSee the ``type_of_loader`` and ``ext_loader_type`` fields in Documentation/arch/x86/boot.rst for additional information.h](hSee the }(hj,hhhNhNubjH)}(h``type_of_loader``h]htype_of_loader}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj,ubh and }(hj,hhhNhNubjH)}(h``ext_loader_type``h]hext_loader_type}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj,ubhF fields in Documentation/arch/x86/boot.rst for additional information.}(hj,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKahjhhubeh}(h]jLah ]h"]bootloader_type (x86 only)ah$]h&]uh1hhhhhhhhKWubh)}(hhh](h)}(hbootloader_version (x86 only)h]hbootloader_version (x86 only)}(hjhhhhNhNubah}(h]h ]h"]h$]h&]jjhuh1hhjehhhhhKfubh)}(hlThe complete bootloader version number. In the example above, this file will contain the value 564 = 0x234.h]hlThe complete bootloader version number. In the example above, this file will contain the value 564 = 0x234.}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhjehhubh)}(hwSee the ``type_of_loader`` and ``ext_loader_ver`` fields in Documentation/arch/x86/boot.rst for additional information.h](hSee the }(hjhhhNhNubjH)}(h``type_of_loader``h]htype_of_loader}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh and }(hjhhhNhNubjH)}(h``ext_loader_ver``h]hext_loader_ver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubhF fields in Documentation/arch/x86/boot.rst for additional information.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKkhjehhubeh}(h]jnah ]h"]bootloader_version (x86 only)ah$]h&]uh1hhhhhhhhKfubh)}(hhh](h)}(hbpf_stats_enabledh]hbpf_stats_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhKpubh)}(hControls whether the kernel should collect statistics on BPF programs (total time spent running, number of times run...). Enabling statistics causes a slight reduction in performance on each program run. The statistics can be seen using ``bpftool``.h](hControls whether the kernel should collect statistics on BPF programs (total time spent running, number of times run...). Enabling statistics causes a slight reduction in performance on each program run. The statistics can be seen using }(hjhhhNhNubjH)}(h ``bpftool``h]hbpftool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKrhjhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h0h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h#Don't collect statistics (default).h]h%Don’t collect statistics (default).}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhj%ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjEubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh]h)}(hCollect statistics.h]hCollect statistics.}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhj[ubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1j{hjhhhhhNubeh}(h]jah ]h"]bpf_stats_enabledah$]h&]uh1hhhhhhhhKpubh)}(hhh](h)}(hcad_pidh]hcad_pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhK~ubh)}(hThis is the pid which will be signalled on reboot (notably, by Ctrl-Alt-Delete). Writing a value to this file which doesn't correspond to a running process will result in ``-ESRCH``.h](hThis is the pid which will be signalled on reboot (notably, by Ctrl-Alt-Delete). Writing a value to this file which doesn’t correspond to a running process will result in }(hjhhhNhNubjH)}(h ``-ESRCH``h]h-ESRCH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hSee also `ctrl-alt-del`_.h](h See also }(hjhhhNhNubh)}(h`ctrl-alt-del`_h]h ctrl-alt-del}(hjhhhNhNubah}(h]h ]h"]h$]h&]name ctrl-alt-deljj~uh1hhjjKubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]jah ]h"]cad_pidah$]h&]uh1hhhhhhhhK~ubh)}(hhh](h)}(h cap_last_caph]h cap_last_cap}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhKubh)}(hZHighest valid capability of the running kernel. Exports ``CAP_LAST_CAP`` from the kernel.h](h9Highest valid capability of the running kernel. Exports }(hjhhhNhNubjH)}(h``CAP_LAST_CAP``h]h CAP_LAST_CAP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh from the kernel.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubhtarget)}(h.. _core_pattern:h]h}(h]h ]h"]h$]h&]jjuh1jhKhjhhhhʌ referencedKubeh}(h]jah ]h"] cap_last_capah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h core_patternh]h core_pattern}(hj4hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj1hhhhhKubh)}(hA``core_pattern`` is used to specify a core dumpfile pattern name.h](jH)}(h``core_pattern``h]h core_pattern}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjBubh1 is used to specify a core dumpfile pattern name.}(hjBhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj1hhubj)}(hhh](j)}(h2max length 127 characters; default value is "core"h]h)}(hjch]h6max length 127 characters; default value is “core”}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjaubah}(h]h ]h"]h$]h&]uh1jhj^hhhhhNubj)}(h``core_pattern`` is used as a pattern template for the output filename; certain string patterns (beginning with '%') are substituted with their actual values.h]h)}(h``core_pattern`` is used as a pattern template for the output filename; certain string patterns (beginning with '%') are substituted with their actual values.h](jH)}(h``core_pattern``h]h core_pattern}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj|ubh is used as a pattern template for the output filename; certain string patterns (beginning with ‘%’) are substituted with their actual values.}(hj|hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjxubah}(h]h ]h"]h$]h&]uh1jhj^hhhhhNubj)}(hbackward compatibility with ``core_uses_pid``: If ``core_pattern`` does not include "%p" (default does not) and ``core_uses_pid`` is set, then .PID will be appended to the filename. h](h)}(h.backward compatibility with ``core_uses_pid``:h](hbackward compatibility with }(hjhhhNhNubjH)}(h``core_uses_pid``h]h core_uses_pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubh block_quote)}(hIf ``core_pattern`` does not include "%p" (default does not) and ``core_uses_pid`` is set, then .PID will be appended to the filename. h]h)}(hIf ``core_pattern`` does not include "%p" (default does not) and ``core_uses_pid`` is set, then .PID will be appended to the filename.h](hIf }(hjhhhNhNubjH)}(h``core_pattern``h]h core_pattern}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh2 does not include “%p” (default does not) and }(hjhhhNhNubjH)}(h``core_uses_pid``h]h core_uses_pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh4 is set, then .PID will be appended to the filename.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhj^hhhhhNubj)}(hXCcorename format specifiers ======== ========================================== % '%' is dropped %% output one '%' %p pid %P global pid (init PID namespace) %i tid %I global tid (init PID namespace) %u uid (in initial user namespace) %g gid (in initial user namespace) %d dump mode, matches ``PR_SET_DUMPABLE`` and ``/proc/sys/fs/suid_dumpable`` %s signal number %t UNIX time of dump %h hostname %e executable filename (may be shortened, could be changed by prctl etc) %f executable filename %E executable path %c maximum size of core file by resource limit RLIMIT_CORE %C CPU the task ran on %F pidfd number % both are dropped ======== ========================================== h](h)}(hcorename format specifiersh]hcorename format specifiers}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hX======== ========================================== % '%' is dropped %% output one '%' %p pid %P global pid (init PID namespace) %i tid %I global tid (init PID namespace) %u uid (in initial user namespace) %g gid (in initial user namespace) %d dump mode, matches ``PR_SET_DUMPABLE`` and ``/proc/sys/fs/suid_dumpable`` %s signal number %t UNIX time of dump %h hostname %e executable filename (may be shortened, could be changed by prctl etc) %f executable filename %E executable path %c maximum size of core file by resource limit RLIMIT_CORE %C CPU the task ran on %F pidfd number % both are dropped ======== ========================================== h]j|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKEuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h%h]h%}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj<ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h'%' is droppedh]h‘%’ is dropped}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjSubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%%h]h%%}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjsubah}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh]h)}(houtput one '%'h]houtput one ‘%’}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjpubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%ph]h%p}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpidh]hpid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%Ph]h%P}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hglobal pid (init PID namespace)h]hglobal pid (init PID namespace)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%ih]h%i}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(htidh]htid}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%Ih]h%I}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjOubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(hglobal tid (init PID namespace)h]hglobal tid (init PID namespace)}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjfubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%uh]h%u}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(huid (in initial user namespace)h]huid (in initial user namespace)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%gh]h%g}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hgid (in initial user namespace)h]hgid (in initial user namespace)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%dh]h%d}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hIdump mode, matches ``PR_SET_DUMPABLE`` and ``/proc/sys/fs/suid_dumpable``h](hdump mode, matches }(hjhhhNhNubjH)}(h``PR_SET_DUMPABLE``h]hPR_SET_DUMPABLE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh and }(hjhhhNhNubjH)}(h``/proc/sys/fs/suid_dumpable``h]h/proc/sys/fs/suid_dumpable}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%sh]h%s}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjKubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(h signal numberh]h signal number}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjbubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%th]h%t}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hUNIX time of dumph]hUNIX time of dump}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%hh]h%h}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhostnameh]hhostname}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%eh]h%e}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hEexecutable filename (may be shortened, could be changed by prctl etc)h]hEexecutable filename (may be shortened, could be changed by prctl etc)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%fh]h%f}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj'ubah}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(hexecutable filenameh]hexecutable filename}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj>ubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%Eh]h%E}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj^ubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(hexecutable pathh]hexecutable path}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjuubah}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%ch]h%c}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h7maximum size of core file by resource limit RLIMIT_COREh]h7maximum size of core file by resource limit RLIMIT_CORE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%Ch]h%C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hCPU the task ran onh]hCPU the task ran on}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%Fh]h%F}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h pidfd numberh]h pidfd number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h%h]h%}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj:ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hboth are droppedh]hboth are dropped}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjQubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1j{hjubah}(h]h ]h"]h$]h&]uh1jhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhj^hhhhhNubj)}(hIf the first character of the pattern is a '|', the kernel will treat the rest of the pattern as a command to run. The core dump will be written to the standard input of that program instead of to a file. h]h)}(hIf the first character of the pattern is a '|', the kernel will treat the rest of the pattern as a command to run. The core dump will be written to the standard input of that program instead of to a file.h]hIf the first character of the pattern is a ‘|’, the kernel will treat the rest of the pattern as a command to run. The core dump will be written to the standard input of that program instead of to a file.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj^hhhhhNubeh}(h]h ]h"]h$]h&]bullet*uh1jhhhKhj1hhubeh}(h](jid1eh ]h"] core_patternah$] core_patternah&]uh1hhhhhhhhKj)Kexpect_referenced_by_name}jjsexpect_referenced_by_id}jjsubh)}(hhh](h)}(hcore_pipe_limith]hcore_pipe_limit}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhKubh)}(hXThis sysctl is only applicable when `core_pattern`_ is configured to pipe core files to a user space helper (when the first character of ``core_pattern`` is a '|', see above). When collecting cores via a pipe to an application, it is occasionally useful for the collecting application to gather data about the crashing process from its ``/proc/pid`` directory. In order to do this safely, the kernel must wait for the collecting process to exit, so as not to remove the crashing processes proc files prematurely. This in turn creates the possibility that a misbehaving userspace collecting process can block the reaping of a crashed process simply by never exiting. This sysctl defends against that. It defines how many concurrent crashing processes may be piped to user space applications in parallel. If this value is exceeded, then those crashing processes above that value are noted via the kernel log and their cores are skipped. 0 is a special value, indicating that unlimited processes may be captured in parallel, but that no waiting will take place (i.e. the collecting process is not guaranteed access to ``/proc//``). This value defaults to 0.h](h$This sysctl is only applicable when }(hjhhhNhNubh)}(h`core_pattern`_h]h core_pattern}(hjhhhNhNubah}(h]h ]h"]h$]h&]name core_patternjjuh1hhjjKubhV is configured to pipe core files to a user space helper (when the first character of }(hjhhhNhNubjH)}(h``core_pattern``h]h core_pattern}(hjhhhNhNubah}(h]h 2]h"]h$]h&]uh1jGhjubh is a ‘|’, see above). When collecting cores via a pipe to an application, it is occasionally useful for the collecting application to gather data about the crashing process from its }(hjhhhNhNubjH)}(h ``/proc/pid``h]h /proc/pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubhX directory. In order to do this safely, the kernel must wait for the collecting process to exit, so as not to remove the crashing processes proc files prematurely. This in turn creates the possibility that a misbehaving userspace collecting process can block the reaping of a crashed process simply by never exiting. This sysctl defends against that. It defines how many concurrent crashing processes may be piped to user space applications in parallel. If this value is exceeded, then those crashing processes above that value are noted via the kernel log and their cores are skipped. 0 is a special value, indicating that unlimited processes may be captured in parallel, but that no waiting will take place (i.e. the collecting process is not guaranteed access to }(hjhhhNhNubjH)}(h``/proc//``h]h/proc//}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh). This value defaults to 0.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]jah ]h"]core_pipe_limitah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h core_sort_vmah]h core_sort_vma}(hj-hhhNhNubah}(h]h ]h"]h$]h&]jj4uh1hhj*hhhhhKubh)}(hXJThe default coredump writes VMAs in address order. By setting ``core_sort_vma`` to 1, VMAs will be written from smallest size to largest size. This is known to break at least elfutils, but can be handy when dealing with very large (and truncated) coredumps where the more useful debugging details are included in the smaller VMAs.h](h>The default coredump writes VMAs in address order. By setting }(hj;hhhNhNubjH)}(h``core_sort_vma``h]h core_sort_vma}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj;ubh to 1, VMAs will be written from smallest size to largest size. This is known to break at least elfutils, but can be handy when dealing with very large (and truncated) coredumps where the more useful debugging details are included in the smaller VMAs.}(hj;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj*hhubeh}(h]j:ah ]h"] core_sort_vmaah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h core_uses_pidh]h core_uses_pid}(hjehhhNhNubah}(h]h ]h"]h$]h&]jjVuh1hhjbhhhhhKubh)}(hThe default coredump filename is "core". By setting ``core_uses_pid`` to 1, the coredump filename becomes core.PID. If `core_pattern`_ does not include "%p" (default does not) and ``core_uses_pid`` is set, then .PID will be appended to the filename.h](h9The default coredump filename is “core”. By setting }(hjshhhNhNubjH)}(h``core_uses_pid``h]h core_uses_pid}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjsubh2 to 1, the coredump filename becomes core.PID. If }(hjshhhNhNubh)}(h`core_pattern`_h]h core_pattern}(hjhhhNhNubah}(h]h ]h"]h$]h&]name core_patternjjuh1hhjsjKubh2 does not include “%p” (default does not) and }(hjshhhNhNubjH)}(h``core_uses_pid``h]h core_uses_pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjsubh4 is set, then .PID will be appended to the filename.}(hjshhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjbhhubeh}(h]j\ah ]h"] core_uses_pidah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h ctrl-alt-delh]h ctrl-alt-del}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjxuh1hhjhhhhhKubh)}(hXWhen the value in this file is 0, ctrl-alt-del is trapped and sent to the ``init(1)`` program to handle a graceful restart. When, however, the value is > 0, Linux's reaction to a Vulcan Nerve Pinch (tm) will be an immediate reboot, without even syncing its dirty buffers.h](hJWhen the value in this file is 0, ctrl-alt-del is trapped and sent to the }(hjhhhNhNubjH)}(h ``init(1)``h]hinit(1)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh program to handle a graceful restart. When, however, the value is > 0, Linux’s reaction to a Vulcan Nerve Pinch (tm) will be an immediate reboot, without even syncing its dirty buffers.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubhdefinition_list)}(hhh]hdefinition_list_item)}(hNote: when a program (like dosemu) has the keyboard in 'raw' mode, the ctrl-alt-del is intercepted by the program before it ever reaches the kernel tty layer, and it's up to the program to decide what to do with it. h](hterm)}(hNote:h]hNote:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubh definition)}(hhh]h)}(hwhen a program (like dosemu) has the keyboard in 'raw' mode, the ctrl-alt-del is intercepted by the program before it ever reaches the kernel tty layer, and it's up to the program to decide what to do with it.h]hwhen a program (like dosemu) has the keyboard in ‘raw’ mode, the ctrl-alt-del is intercepted by the program before it ever reaches the kernel tty layer, and it’s up to the program to decide what to do with it.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]j~ah ]h"] ctrl-alt-delah$]h&]uh1hhhhhhhhKj)Kubh)}(hhh](h)}(hdmesg_restricth]hdmesg_restrict}(hj;hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj8hhhhhKubh)}(hXThis toggle indicates whether unprivileged users are prevented from using ``dmesg(8)`` to view messages from the kernel's log buffer. When ``dmesg_restrict`` is set to 0 there are no restrictions. When ``dmesg_restrict`` is set to 1, users must have ``CAP_SYSLOG`` to use ``dmesg(8)``.h](hJThis toggle indicates whether unprivileged users are prevented from using }(hjIhhhNhNubjH)}(h ``dmesg(8)``h]hdmesg(8)}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjIubh7 to view messages from the kernel’s log buffer. When }(hjIhhhNhNubjH)}(h``dmesg_restrict``h]hdmesg_restrict}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjIubh- is set to 0 there are no restrictions. When }(hjIhhhNhNubjH)}(h``dmesg_restrict``h]hdmesg_restrict}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjIubh is set to 1, users must have }(hjIhhhNhNubjH)}(h``CAP_SYSLOG``h]h CAP_SYSLOG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjIubh to use }(hjIhhhNhNubjH)}(h ``dmesg(8)``h]hdmesg(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjIubh.}(hjIhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj8hhubh)}(hiThe kernel config option ``CONFIG_SECURITY_DMESG_RESTRICT`` sets the default value of ``dmesg_restrict``.h](hThe kernel config option }(hjhhhNhNubjH)}(h"``CONFIG_SECURITY_DMESG_RESTRICT``h]hCONFIG_SECURITY_DMESG_RESTRICT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh sets the default value of }(hjhhhNhNubjH)}(h``dmesg_restrict``h]hdmesg_restrict}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj8hhubeh}(h]jah ]h"]dmesg_restrictah$]h&]uh1hhhhhhhhKj)Kubh)}(hhh](h)}(hdomainname & hostnameh]hdomainname & hostname}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhM ubh)}(hThese files can be used to set the NIS/YP domainname and the hostname of your box in exactly the same way as the commands domainname and hostname, i.e.::h]hThese files can be used to set the NIS/YP domainname and the hostname of your box in exactly the same way as the commands domainname and hostname, i.e.:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h]# echo "darkstar" > /proc/sys/kernel/hostname # echo "mydomain" > /proc/sys/kernel/domainnameh]h]# echo "darkstar" > /proc/sys/kernel/hostname # echo "mydomain" > /proc/sys/kernel/domainname}hj sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhjhhubh)}(hhas the same effect as::h]hhas the same effect as:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h-# hostname "darkstar" # domainname "mydomain"h]h-# hostname "darkstar" # domainname "mydomain"}hj%sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhjhhubh)}(hXVNote, however, that the classic darkstar.frop.org has the hostname "darkstar" and DNS (Internet Domain Name Server) domainname "frop.org", not to be confused with the NIS (Network Information Service) or YP (Yellow Pages) domainname. These two domain names are in general different. For a detailed discussion see the ``hostname(1)`` man page.h](hXENote, however, that the classic darkstar.frop.org has the hostname “darkstar” and DNS (Internet Domain Name Server) domainname “frop.org”, not to be confused with the NIS (Network Information Service) or YP (Yellow Pages) domainname. These two domain names are in general different. For a detailed discussion see the }(hj3hhhNhNubjH)}(h``hostname(1)``h]h hostname(1)}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj3ubh man page.}(hj3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]jah ]h"]domainname & hostnameah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(hfirmware_configh]hfirmware_config}(hj]hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjZhhhhhM#ubh)}(h>See Documentation/driver-api/firmware/fallback-mechanisms.rst.h]h>See Documentation/driver-api/firmware/fallback-mechanisms.rst.}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjZhhubh)}(hYThe entries in this directory allow the firmware loader helper fallback to be controlled:h]hYThe entries in this directory allow the firmware loader helper fallback to be controlled:}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjZhhubj)}(hhh](j)}(hH``force_sysfs_fallback``, when set to 1, forces the use of the fallback;h]h)}(hH``force_sysfs_fallback``, when set to 1, forces the use of the fallback;h](jH)}(h``force_sysfs_fallback``h]hforce_sysfs_fallback}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh0, when set to 1, forces the use of the fallback;}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM*hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hA``ignore_sysfs_fallback``, when set to 1, ignores any fallback. h]h)}(h?``ignore_sysfs_fallback``, when set to 1, ignores any fallback.h](jH)}(h``ignore_sysfs_fallback``h]hignore_sysfs_fallback}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh&, when set to 1, ignores any fallback.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM,hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]jjuh1jhhhM*hjZhhubeh}(h]jah ]h"]firmware_configah$]h&]uh1hhhhhhhhM#ubh)}(hhh](h)}(hftrace_dump_on_oopsh]hftrace_dump_on_oops}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhM0ubh)}(hDetermines whether ``ftrace_dump()`` should be called on an oops (or kernel panic). This will output the contents of the ftrace buffers to the console. This is very useful for capturing traces that lead to crashes and outputting them to a serial console.h](hDetermines whether }(hjhhhNhNubjH)}(h``ftrace_dump()``h]h ftrace_dump()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjubh should be called on an oops (or kernel panic). This will output the contents of the ftrace buffers to the console. This is very useful for capturing traces that lead to crashes and outputting them to a serial console.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM2hjhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK.uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hj4ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hDisabled (default).h]hDisabled (default).}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjJubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hjjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hDump buffers of all CPUs.h]hDump buffers of all CPUs.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hjubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(h 2(orig_cpu)h]h 2(orig_cpu)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h3Dump the buffer of the CPU that triggered the oops.h]h3Dump the buffer of the CPU that triggered the oops.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(h h]h }(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h.Dump the specific instance buffer on all CPUs.h]h.Dump the specific instance buffer on all CPUs.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(h=2(orig_cpu)h]h=2(orig_cpu)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM=hjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hEDump the specific instance buffer on the CPU that triggered the oops.h]hEDump the specific instance buffer on the CPU that triggered the oops.}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM=hj%ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1j{hjhhhhhNubh)}(hMultiple instance dump is also supported, and instances are separated by commas. If global buffer also needs to be dumped, please specify the dump mode (1/2/orig_cpu) first for global buffer.h]hMultiple instance dump is also supported, and instances are separated by commas. If global buffer also needs to be dumped, please specify the dump mode (1/2/orig_cpu) first for global buffer.}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhjhhubh)}(hNSo for example to dump "foo" and "bar" instance buffer on all CPUs, user can::h]hUSo for example to dump “foo” and “bar” instance buffer on all CPUs, user can:}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjhhubj)}(h5echo "foo,bar" > /proc/sys/kernel/ftrace_dump_on_oopsh]h5echo "foo,bar" > /proc/sys/kernel/ftrace_dump_on_oops}hjqsbah}(h]h ]h"]h$]h&]hhuh1jhhhMHhjhhubh)}(hTo dump global buffer and "foo" instance buffer on all CPUs along with the "bar" instance buffer on CPU that triggered the oops, user can::h]hTo dump global buffer and “foo” instance buffer on all CPUs along with the “bar” instance buffer on CPU that triggered the oops, user can:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhjhhubj)}(h9echo "1,foo,bar=2" > /proc/sys/kernel/ftrace_dump_on_oopsh]h9echo "1,foo,bar=2" > /proc/sys/kernel/ftrace_dump_on_oops}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhMNhjhhubeh}(h]jah ]h"]ftrace_dump_on_oopsah$]h&]uh1hhhhhhhhM0ubh)}(hhh](h)}(h$ftrace_enabled, stack_tracer_enabledh]h$ftrace_enabled, stack_tracer_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]jj"uh1hhjhhhhhMQubh)}(h#See Documentation/trace/ftrace.rst.h]h#See Documentation/trace/ftrace.rst.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjhhubeh}(h]j(ah ]h"]$ftrace_enabled, stack_tracer_enabledah$]h&]uh1hhhhhhhhMQubh)}(hhh](h)}(hhardlockup_all_cpu_backtraceh]hhardlockup_all_cpu_backtrace}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjDuh1hhjhhhhhMWubh)}(hThis value controls the hard lockup detector behavior when a hard lockup condition is detected as to whether or not to gather further debug information. If enabled, arch-specific all-CPU stack dumping will be initiated.h]hThis value controls the hard lockup detector behavior when a hard lockup condition is detected as to whether or not to gather further debug information. If enabled, arch-specific all-CPU stack dumping will be initiated.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhjhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h)Do nothing. This is the default behavior.h]h)Do nothing. This is the default behavior.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj@ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj= ubah}(h]h ]h"]h$]h&]uh1jhj: ubj)}(hhh]h)}(h,On detection capture more debug information.h]h,On detection capture more debug information.}(hjV hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjS ubah}(h]h ]h"]h$]h&]uh1jhj: ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1j{hjhhhhhNubeh}(h]jJah ]h"]hardlockup_all_cpu_backtraceah$]h&]uh1hhhhhhhhMWubh)}(hhh](h)}(hhardlockup_panich]hhardlockup_panic}(hj hhhNhNubah}(h]h ]h"]h$]h&]jjfuh1hhj hhhhhMeubh)}(h_This parameter can be used to control whether the kernel panics when a hard lockup is detected.h]h_This parameter can be used to control whether the kernel panics when a hard lockup is detected.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghj hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hDon't panic on hard lockup.h]hDon’t panic on hard lockup.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hPanic on hard lockup.h]hPanic on hard lockup.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj!ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1j{hj hhhhhNubh)}(hSee Documentation/admin-guide/lockup-watchdogs.rst for more information. This can also be set using the nmi_watchdog kernel parameter.h]hSee Documentation/admin-guide/lockup-watchdogs.rst for more information. This can also be set using the nmi_watchdog kernel parameter.}(hjE!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohj hhubeh}(h]jlah ]h"]hardlockup_panicah$]h&]uh1hhhhhhhhMeubh)}(hhh](h)}(hhotplugh]hhotplug}(hj]!hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjZ!hhhhhMtubh)}(h~Path for the hotplug policy agent. Default value is ``CONFIG_UEVENT_HELPER_PATH``, which in turn defaults to the empty string.h](h4Path for the hotplug policy agent. Default value is }(hjk!hhhNhNubjH)}(h``CONFIG_UEVENT_HELPER_PATH``h]hCONFIG_UEVENT_HELPER_PATH}(hjs!hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjk!ubh-, which in turn defaults to the empty string.}(hjk!hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMvhjZ!hhubh)}(hThis file only exists when ``CONFIG_UEVENT_HELPER`` is enabled. Most modern systems rely exclusively on the netlink-based uevent source and don't need this.h](hThis file only exists when }(hj!hhhNhNubjH)}(h``CONFIG_UEVENT_HELPER``h]hCONFIG_UEVENT_HELPER}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj!ubhk is enabled. Most modern systems rely exclusively on the netlink-based uevent source and don’t need this.}(hj!hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMzhjZ!hhubeh}(h]jah ]h"]hotplugah$]h&]uh1hhhhhhhhMtubh)}(hhh](h)}(hhung_task_all_cpu_backtraceh]hhung_task_all_cpu_backtrace}(hj!hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj!hhhhhMubh)}(hIf this option is set, the kernel will send an NMI to all CPUs to dump their backtraces when a hung task is detected. This file shows up if CONFIG_DETECT_HUNG_TASK and CONFIG_SMP are enabled.h]hIf this option is set, the kernel will send an NMI to all CPUs to dump their backtraces when a hung task is detected. This file shows up if CONFIG_DETECT_HUNG_TASK and CONFIG_SMP are enabled.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!hhubh)}(h]0: Won't show all CPUs backtraces when a hung task is detected. This is the default behavior.h]h_0: Won’t show all CPUs backtraces when a hung task is detected. This is the default behavior.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!hhubh)}(h_1: Will non-maskably interrupt all CPUs and dump their backtraces when a hung task is detected.h]h_1: Will non-maskably interrupt all CPUs and dump their backtraces when a hung task is detected.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!hhubeh}(h]jah ]h"]hung_task_all_cpu_backtraceah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hhung_task_panich]hhung_task_panic}(hj!hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj!hhhhhMubh)}(hWhen set to a non-zero value, a kernel panic will be triggered if the number of hung tasks found during a single scan reaches this value. This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.h](hWhen set to a non-zero value, a kernel panic will be triggered if the number of hung tasks found during a single scan reaches this value. This file shows up if }(hj"hhhNhNubjH)}(h``CONFIG_DETECT_HUNG_TASK``h]hCONFIG_DETECT_HUNG_TASK}(hj "hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj"ubh is enabled.}(hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj!hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj("ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK7uh1jhj("ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjH"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjE"ubah}(h]h ]h"]h$]h&]uh1jhjB"ubj)}(hhh]h)}(h1Continue operation. This is the default behavior.h]h1Continue operation. This is the default behavior.}(hj^"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj["ubah}(h]h ]h"]h$]h&]uh1jhjB"ubeh}(h]h ]h"]h$]h&]uh1jhj?"ubj)}(hhh](j)}(hhh]h)}(hNh]hN}(hj~"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{"ubah}(h]h ]h"]h$]h&]uh1jhjx"ubj)}(hhh]h)}(h7Panic when N hung tasks are found during a single scan.h]h7Panic when N hung tasks are found during a single scan.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhjx"ubeh}(h]h ]h"]h$]h&]uh1jhj?"ubeh}(h]h ]h"]h$]h&]uh1jhj("ubeh}(h]h ]h"]h$]h&]colsKuh1jhj%"ubah}(h]h ]h"]h$]h&]uh1j{hj!hhhhhNubeh}(h]jah ]h"]hung_task_panicah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hhung_task_check_counth]hhung_task_check_count}(hj"hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj"hhhhhMubh)}(hvThe upper bound on the number of tasks that are checked. This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.h](hOThe upper bound on the number of tasks that are checked. This file shows up if }(hj"hhhNhNubjH)}(h``CONFIG_DETECT_HUNG_TASK``h]hCONFIG_DETECT_HUNG_TASK}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj"ubh is enabled.}(hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj"hhubeh}(h]jah ]h"]hung_task_check_countah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hhung_task_detect_counth]hhung_task_detect_count}(hj#hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj#hhhhhMubh)}(hIndicates the total number of tasks that have been detected as hung since the system boot or since the counter was reset. The counter is zeroed when a value of 0 is written.h]hIndicates the total number of tasks that have been detected as hung since the system boot or since the counter was reset. The counter is zeroed when a value of 0 is written.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#hhubh)}(h=This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.h](hThis file shows up if }(hj #hhhNhNubjH)}(h``CONFIG_DETECT_HUNG_TASK``h]hCONFIG_DETECT_HUNG_TASK}(hj(#hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj #ubh is enabled.}(hj #hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj#hhubeh}(h]jah ]h"]hung_task_detect_countah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hhung_task_sys_infoh]hhung_task_sys_info}(hjJ#hhhNhNubah}(h]h ]h"]h$]h&]jj2uh1hhjG#hhhhhMubh)}(hA comma separated list of extra system information to be dumped when hung task is detected, for example, "tasks,mem,timers,locks,...". Refer 'panic_sys_info' section below for more details.h]hA comma separated list of extra system information to be dumped when hung task is detected, for example, “tasks,mem,timers,locks,...”. Refer ‘panic_sys_info’ section below for more details.}(hjX#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjG#hhubeh}(h]j8ah ]h"]hung_task_sys_infoah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hhung_task_timeout_secsh]hhung_task_timeout_secs}(hjp#hhhNhNubah}(h]h ]h"]h$]h&]jjTuh1hhjm#hhhhhMubh)}(hWhen a task in D state did not get scheduled for more than this value report a warning. This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.h](hnWhen a task in D state did not get scheduled for more than this value report a warning. This file shows up if }(hj~#hhhNhNubjH)}(h``CONFIG_DETECT_HUNG_TASK``h]hCONFIG_DETECT_HUNG_TASK}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj~#ubh is enabled.}(hj~#hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjm#hhubh)}(h.0 means infinite timeout, no checking is done.h]h.0 means infinite timeout, no checking is done.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjm#hhubh)}(h'ubah}(h]h ]h"]h$]h&]uh1jhj;'ubj)}(hhh]h)}(hio_uring creation is disabled (io_uring_setup() will fail with -EPERM) for unprivileged processes not in the io_uring_group group. Existing io_uring instances can still be used. See the documentation for io_uring_group for more information.h]hio_uring creation is disabled (io_uring_setup() will fail with -EPERM) for unprivileged processes not in the io_uring_group group. Existing io_uring instances can still be used. See the documentation for io_uring_group for more information.}(hjW'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjT'ubah}(h]h ]h"]h$]h&]uh1jhj;'ubeh}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hjw'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjt'ubah}(h]h ]h"]h$]h&]uh1jhjq'ubj)}(hhh]h)}(hio_uring creation is disabled for all processes. io_uring_setup() always fails with -EPERM. Existing io_uring instances can still be used.h]hio_uring creation is disabled for all processes. io_uring_setup() always fails with -EPERM. Existing io_uring instances can still be used.}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1jhjq'ubeh}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]colsKuh1jhj&ubah}(h]h ]h"]h$]h&]uh1j{hj&hhhhhNubeh}(h]jah ]h"]io_uring_disabledah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hio_uring_grouph]hio_uring_group}(hj'hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj'hhhhhMubh)}(hX!When io_uring_disabled is set to 1, a process must either be privileged (CAP_SYS_ADMIN) or be in the io_uring_group group in order to create an io_uring instance. If io_uring_group is set to -1 (the default), only processes with the CAP_SYS_ADMIN capability may create io_uring instances.h]hX!When io_uring_disabled is set to 1, a process must either be privileged (CAP_SYS_ADMIN) or be in the io_uring_group group in order to create an io_uring instance. If io_uring_group is set to -1 (the default), only processes with the CAP_SYS_ADMIN capability may create io_uring instances.}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'hhubeh}(h]j&ah ]h"]io_uring_groupah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hkernel_sys_infoh]hkernel_sys_info}(hj'hhhNhNubah}(h]h ]h"]h$]h&]jjBuh1hhj'hhhhhMubh)}(hA comma separated list of extra system information to be dumped when soft/hard lockup is detected, for example, "tasks,mem,timers,locks,...". Refer 'panic_sys_info' section below for more details.h]hA comma separated list of extra system information to be dumped when soft/hard lockup is detected, for example, “tasks,mem,timers,locks,...”. Refer ‘panic_sys_info’ section below for more details.}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'hhubh)}(h}It serves as the default kernel control knob, which will take effect when a kernel module calls sys_info() with parameter==0.h]h}It serves as the default kernel control knob, which will take effect when a kernel module calls sys_info() with parameter==0.}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'hhubeh}(h]jHah ]h"]kernel_sys_infoah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hkexec_load_disabledh]hkexec_load_disabled}(hj(hhhNhNubah}(h]h ]h"]h$]h&]jjduh1hhj(hhhhhMubh)}(hXA toggle indicating if the syscalls ``kexec_load`` and ``kexec_file_load`` have been disabled. This value defaults to 0 (false: ``kexec_*load`` enabled), but can be set to 1 (true: ``kexec_*load`` disabled). Once true, kexec can no longer be used, and the toggle cannot be set back to false. This allows a kexec image to be loaded before disabling the syscall, allowing a system to set up (and later use) an image without it being altered. Generally used together with the `modules_disabled`_ sysctl.h](h$A toggle indicating if the syscalls }(hj,(hhhNhNubjH)}(h``kexec_load``h]h kexec_load}(hj4(hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj,(ubh and }(hj,(hhhNhNubjH)}(h``kexec_file_load``h]hkexec_file_load}(hjF(hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj,(ubh6 have been disabled. This value defaults to 0 (false: }(hj,(hhhNhNubjH)}(h``kexec_*load``h]h kexec_*load}(hjX(hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj,(ubh& enabled), but can be set to 1 (true: }(hj,(hhhNhNubjH)}(h``kexec_*load``h]h kexec_*load}(hjj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj,(ubhX disabled). Once true, kexec can no longer be used, and the toggle cannot be set back to false. This allows a kexec image to be loaded before disabling the syscall, allowing a system to set up (and later use) an image without it being altered. Generally used together with the }(hj,(hhhNhNubh)}(h`modules_disabled`_h]hmodules_disabled}(hj|(hhhNhNubah}(h]h ]h"]h$]h&]namemodules_disabledjj6uh1hhj,(jKubh sysctl.}(hj,(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj(hhubeh}(h]jjah ]h"]kexec_load_disabledah$]h&]uh1hhhhhhhhMj)Kubh)}(hhh](h)}(hkexec_load_limit_panich]hkexec_load_limit_panic}(hj(hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj(hhhhhM%ubh)}(hThis parameter specifies a limit to the number of times the syscalls ``kexec_load`` and ``kexec_file_load`` can be called with a crash image. It can only be set with a more restrictive value than the current one.h](hEThis parameter specifies a limit to the number of times the syscalls }(hj(hhhNhNubjH)}(h``kexec_load``h]h kexec_load}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj(ubh and }(hj(hhhNhNubjH)}(h``kexec_file_load``h]hkexec_file_load}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj(ubhi can be called with a crash image. It can only be set with a more restrictive value than the current one.}(hj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM'hj(hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj(ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK6uh1jhj(ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h-1h]h-1}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hj)ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(h6Unlimited calls to kexec. This is the default setting.h]h6Unlimited calls to kexec. This is the default setting.}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hj)ubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh](j)}(hhh]h)}(hj"h]hN}(hj:)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hj7)ubah}(h]h ]h"]h$]h&]uh1jhj4)ubj)}(hhh]h)}(hNumber of calls left.h]hNumber of calls left.}(hjP)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjM)ubah}(h]h ]h"]h$]h&]uh1jhj4)ubeh}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]colsKuh1jhj(ubah}(h]h ]h"]h$]h&]uh1j{hj(hhhhhNubeh}(h]jah ]h"]kexec_load_limit_panicah$]h&]uh1hhhhhhhhM%ubh)}(hhh](h)}(hkexec_load_limit_rebooth]hkexec_load_limit_reboot}(hj)hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj)hhhhhM2ubh)}(hLSimilar functionality as ``kexec_load_limit_panic``, but for a normal image.h](hSimilar functionality as }(hj)hhhNhNubjH)}(h``kexec_load_limit_panic``h]hkexec_load_limit_panic}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj)ubh, but for a normal image.}(hj)hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM4hj)hhubeh}(h]jah ]h"]kexec_load_limit_rebootah$]h&]uh1hhhhhhhhM2ubh)}(hhh](h)}(h kptr_restricth]h kptr_restrict}(hj)hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj)hhhhhM8ubh)}(hvThis toggle indicates whether restrictions are placed on exposing kernel addresses via ``/proc`` and other interfaces.h](hWThis toggle indicates whether restrictions are placed on exposing kernel addresses via }(hj)hhhNhNubjH)}(h ``/proc``h]h/proc}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj)ubh and other interfaces.}(hj)hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM:hj)hhubh)}(hwWhen ``kptr_restrict`` is set to 0 (the default) the address is hashed before printing. (This is the equivalent to %p.)h](hWhen }(hj)hhhNhNubjH)}(h``kptr_restrict``h]h kptr_restrict}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj)ubha is set to 0 (the default) the address is hashed before printing. (This is the equivalent to %p.)}(hj)hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM=hj)hhubh)}(hXWhen ``kptr_restrict`` is set to 1, kernel pointers printed using the %pK format specifier will be replaced with 0s unless the user has ``CAP_SYSLOG`` and effective user and group ids are equal to the real ids. This is because %pK checks are done at read() time rather than open() time, so if permissions are elevated between the open() and the read() (e.g via a setuid binary) then %pK will not leak kernel pointers to unprivileged users. Note, this is a temporary solution only. The correct long-term solution is to do the permission checks at open() time. Consider removing world read permissions from files that use %pK, and using `dmesg_restrict`_ to protect against uses of %pK in ``dmesg(8)`` if leaking kernel pointer values to unprivileged users is a concern.h](hWhen }(hj *hhhNhNubjH)}(h``kptr_restrict``h]h kptr_restrict}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj *ubhr is set to 1, kernel pointers printed using the %pK format specifier will be replaced with 0s unless the user has }(hj *hhhNhNubjH)}(h``CAP_SYSLOG``h]h CAP_SYSLOG}(hj'*hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj *ubhX and effective user and group ids are equal to the real ids. This is because %pK checks are done at read() time rather than open() time, so if permissions are elevated between the open() and the read() (e.g via a setuid binary) then %pK will not leak kernel pointers to unprivileged users. Note, this is a temporary solution only. The correct long-term solution is to do the permission checks at open() time. Consider removing world read permissions from files that use %pK, and using }(hj *hhhNhNubh)}(h`dmesg_restrict`_h]hdmesg_restrict}(hj9*hhhNhNubah}(h]h ]h"]h$]h&]namedmesg_restrictjjuh1hhj *jKubh# to protect against uses of %pK in }(hj *hhhNhNubjH)}(h ``dmesg(8)``h]hdmesg(8)}(hjM*hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj *ubhE if leaking kernel pointer values to unprivileged users is a concern.}(hj *hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMAhj)hhubh)}(hxWhen ``kptr_restrict`` is set to 2, kernel pointers printed using %pK will be replaced with 0s regardless of privileges.h](hWhen }(hje*hhhNhNubjH)}(h``kptr_restrict``h]h kptr_restrict}(hjm*hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhje*ubhb is set to 2, kernel pointers printed using %pK will be replaced with 0s regardless of privileges.}(hje*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMPhj)hhubh)}(hFor disabling these security restrictions early at boot time (and once for all), use the ``hash_pointers`` boot parameter instead.h](hYFor disabling these security restrictions early at boot time (and once for all), use the }(hj*hhhNhNubjH)}(h``hash_pointers``h]h hash_pointers}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj*ubh boot parameter instead.}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMShj)hhubeh}(h]jah ]h"] kptr_restrictah$]h&]uh1hhhhhhhhM8ubh)}(hhh](h)}(h)softlockup_sys_info & hardlockup_sys_infoh]h)softlockup_sys_info & hardlockup_sys_info}(hj*hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj*hhhhhMWubh)}(hA comma separated list of extra system information to be dumped when soft/hard lockup is detected, for example, "tasks,mem,timers,locks,...". Refer 'panic_sys_info' section below for more details.h]hA comma separated list of extra system information to be dumped when soft/hard lockup is detected, for example, “tasks,mem,timers,locks,...”. Refer ‘panic_sys_info’ section below for more details.}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhj*hhubeh}(h]jah ]h"])softlockup_sys_info & hardlockup_sys_infoah$]h&]uh1hhhhhhhhMWubh)}(hhh](h)}(hmodprobeh]hmodprobe}(hj*hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj*hhhhhM]ubh)}(hXThe full path to the usermode helper for autoloading kernel modules, by default ``CONFIG_MODPROBE_PATH``, which in turn defaults to "/sbin/modprobe". This binary is executed when the kernel requests a module. For example, if userspace passes an unknown filesystem type to mount(), then the kernel will automatically request the corresponding filesystem module by executing this usermode helper. This usermode helper should insert the needed module into the kernel.h](hPThe full path to the usermode helper for autoloading kernel modules, by default }(hj*hhhNhNubjH)}(h``CONFIG_MODPROBE_PATH``h]hCONFIG_MODPROBE_PATH}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj*ubhXn, which in turn defaults to “/sbin/modprobe”. This binary is executed when the kernel requests a module. For example, if userspace passes an unknown filesystem type to mount(), then the kernel will automatically request the corresponding filesystem module by executing this usermode helper. This usermode helper should insert the needed module into the kernel.}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM_hj*hhubh)}(hkThis sysctl only affects module autoloading. It has no effect on the ability to explicitly insert modules.h]hkThis sysctl only affects module autoloading. It has no effect on the ability to explicitly insert modules.}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghj*hhubh)}(h:This sysctl can be used to debug module loading requests::h]h9This sysctl can be used to debug module loading requests:}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhj*hhubj)}(hecho '#! /bin/sh' > /tmp/modprobe echo 'echo "$@" >> /tmp/modprobe.log' >> /tmp/modprobe echo 'exec /sbin/modprobe "$@"' >> /tmp/modprobe chmod a+x /tmp/modprobe echo /tmp/modprobe > /proc/sys/kernel/modprobeh]hecho '#! /bin/sh' > /tmp/modprobe echo 'echo "$@" >> /tmp/modprobe.log' >> /tmp/modprobe echo 'exec /sbin/modprobe "$@"' >> /tmp/modprobe chmod a+x /tmp/modprobe echo /tmp/modprobe > /proc/sys/kernel/modprobe}hj+sbah}(h]h ]h"]h$]h&]hhuh1jhhhMlhj*hhubh)}(hAlternatively, if this sysctl is set to the empty string, then module autoloading is completely disabled. The kernel will not try to execute a usermode helper at all, nor will it call the kernel_module_request LSM hook.h]hAlternatively, if this sysctl is set to the empty string, then module autoloading is completely disabled. The kernel will not try to execute a usermode helper at all, nor will it call the kernel_module_request LSM hook.}(hj-+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhj*hhubh)}(hIf CONFIG_STATIC_USERMODEHELPER=y is set in the kernel configuration, then the configured static usermode helper overrides this sysctl, except that the empty string is still accepted to completely disable module autoloading as described above.h]hIf CONFIG_STATIC_USERMODEHELPER=y is set in the kernel configuration, then the configured static usermode helper overrides this sysctl, except that the empty string is still accepted to completely disable module autoloading as described above.}(hj;+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhj*hhubeh}(h]jah ]h"]modprobeah$]h&]uh1hhhhhhhhM]ubh)}(hhh](h)}(hmodules_disabledh]hmodules_disabled}(hjS+hhhNhNubah}(h]h ]h"]h$]h&]jj0uh1hhjP+hhhhhM}ubh)}(hX4A toggle value indicating if modules are allowed to be loaded in an otherwise modular kernel. This toggle defaults to off (0), but can be set true (1). Once true, modules can be neither loaded nor unloaded, and the toggle cannot be set back to false. Generally used with the `kexec_load_disabled`_ toggle.h](hXA toggle value indicating if modules are allowed to be loaded in an otherwise modular kernel. This toggle defaults to off (0), but can be set true (1). Once true, modules can be neither loaded nor unloaded, and the toggle cannot be set back to false. Generally used with the }(hja+hhhNhNubh)}(h`kexec_load_disabled`_h]hkexec_load_disabled}(hji+hhhNhNubah}(h]h ]h"]h$]h&]namekexec_load_disabledjjjuh1hhja+jKubh toggle.}(hja+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjP+hhubj)}(h .. _msgmni:h]h}(h]h ]h"]h$]h&]jjuh1jhMhjP+hhhhj)Kubeh}(h]j6ah ]h"]modules_disabledah$]h&]uh1hhhhhhhhM}j)Kubh)}(hhh](h)}(hmsgmax, msgmnb, and msgmnih]hmsgmax, msgmnb, and msgmni}(hj+hhhNhNubah}(h]h ]h"]h$]h&]jjRuh1hhj+hhhhhMubh)}(hY``msgmax`` is the maximum size of an IPC message, in bytes. 8192 by default (``MSGMAX``).h](jH)}(h ``msgmax``h]hmsgmax}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj+ubhC is the maximum size of an IPC message, in bytes. 8192 by default (}(hj+hhhNhNubjH)}(h ``MSGMAX``h]hMSGMAX}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj+ubh).}(hj+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj+hhubh)}(hX``msgmnb`` is the maximum size of an IPC queue, in bytes. 16384 by default (``MSGMNB``).h](jH)}(h ``msgmnb``h]hmsgmnb}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj+ubhB is the maximum size of an IPC queue, in bytes. 16384 by default (}(hj+hhhNhNubjH)}(h ``MSGMNB``h]hMSGMNB}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj+ubh).}(hj+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj+hhubh)}(hN``msgmni`` is the maximum number of IPC queues. 32000 by default (``MSGMNI``).h](jH)}(h ``msgmni``h]hmsgmni}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj,ubh8 is the maximum number of IPC queues. 32000 by default (}(hj,hhhNhNubjH)}(h ``MSGMNI``h]hMSGMNI}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj,ubh).}(hj,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj+hhubh)}(hAll of these parameters are set per ipc namespace. The maximum number of bytes in POSIX message queues is limited by ``RLIMIT_MSGQUEUE``. This limit is respected hierarchically in the each user namespace.h](huAll of these parameters are set per ipc namespace. The maximum number of bytes in POSIX message queues is limited by }(hj/,hhhNhNubjH)}(h``RLIMIT_MSGQUEUE``h]hRLIMIT_MSGQUEUE}(hj7,hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj/,ubhD. This limit is respected hierarchically in the each user namespace.}(hj/,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj+hhubeh}(h](jXjeh ]h"](msgmax, msgmnb, and msgmnimsgmnieh$]h&]uh1hhhhhhhhMj}jT,j+sj}jj+sj)Kubh)}(hhh](h)}(h8msg_next_id, sem_next_id, and shm_next_id (System V IPC)h]h8msg_next_id, sem_next_id, and shm_next_id (System V IPC)}(hj\,hhhNhNubah}(h]h ]h"]h$]h&]jjtuh1hhjY,hhhhhMubh)}(hThese three toggles allows to specify desired id for next allocated IPC object: message, semaphore or shared memory respectively.h]hThese three toggles allows to specify desired id for next allocated IPC object: message, semaphore or shared memory respectively.}(hjj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjY,hhubh)}(h{By default they are equal to -1, which means generic allocation logic. Possible values to set are in range {0:``INT_MAX``}.h](hnBy default they are equal to -1, which means generic allocation logic. Possible values to set are in range {0:}(hjx,hhhNhNubjH)}(h ``INT_MAX``h]hINT_MAX}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjx,ubh}.}(hjx,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjY,hhubj)}(hhh]j)}(hXoNotes: 1) kernel doesn't guarantee, that new object will have desired id. So, it's up to userspace, how to handle an object with "wrong" id. 2) Toggle with non-default value will be set back to -1 by kernel after successful IPC object allocation. If an IPC object allocation syscall fails, it is undefined if the value remains unmodified or is reset to -1. h](j)}(hNotes:h]hNotes:}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMhj,ubj )}(hhh]henumerated_list)}(hhh](j)}(hkernel doesn't guarantee, that new object will have desired id. So, it's up to userspace, how to handle an object with "wrong" id.h]h)}(hkernel doesn't guarantee, that new object will have desired id. So, it's up to userspace, how to handle an object with "wrong" id.h]hkernel doesn’t guarantee, that new object will have desired id. So, it’s up to userspace, how to handle an object with “wrong” id.}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hToggle with non-default value will be set back to -1 by kernel after successful IPC object allocation. If an IPC object allocation syscall fails, it is undefined if the value remains unmodified or is reset to -1. h]h)}(hToggle with non-default value will be set back to -1 by kernel after successful IPC object allocation. If an IPC object allocation syscall fails, it is undefined if the value remains unmodified or is reset to -1.h]hToggle with non-default value will be set back to -1 by kernel after successful IPC object allocation. If an IPC object allocation syscall fails, it is undefined if the value remains unmodified or is reset to -1.}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix)uh1j,hj,ubah}(h]h ]h"]h$]h&]uh1j hj,ubeh}(h]h ]h"]h$]h&]uh1jhhhMhj,ubah}(h]h ]h"]h$]h&]uh1jhjY,hhhNhNubeh}(h]jzah ]h"]8msg_next_id, sem_next_id, and shm_next_id (system v ipc)ah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h ngroups_maxh]h ngroups_max}(hj -hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj -hhhhhMubh)}(hMaximum number of supplementary groups, _i.e._ the maximum size which ``setgroups`` will accept. Exports ``NGROUPS_MAX`` from the kernel.h](hFMaximum number of supplementary groups, _i.e._ the maximum size which }(hj-hhhNhNubjH)}(h ``setgroups``h]h setgroups}(hj"-hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj-ubh will accept. Exports }(hj-hhhNhNubjH)}(h``NGROUPS_MAX``h]h NGROUPS_MAX}(hj4-hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj-ubh from the kernel.}(hj-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj -hhubeh}(h]jah ]h"] ngroups_maxah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h nmi_watchdogh]h nmi_watchdog}(hjV-hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjS-hhhhhMubh)}(hfThis parameter can be used to control the NMI watchdog (i.e. the hard lockup detector) on x86 systems.h]hfThis parameter can be used to control the NMI watchdog (i.e. the hard lockup detector) on x86 systems.}(hjd-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjS-hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhju-ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhju-ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(h!Disable the hard lockup detector.h]h!Disable the hard lockup detector.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(h Enable the hard lockup detector.h]h Enable the hard lockup detector.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhju-ubeh}(h]h ]h"]h$]h&]colsKuh1jhjr-ubah}(h]h ]h"]h$]h&]uh1j{hjS-hhhhhNubh)}(hX The hard lockup detector monitors each CPU for its ability to respond to timer interrupts. The mechanism utilizes CPU performance counter registers that are programmed to generate Non-Maskable Interrupts (NMIs) periodically while a CPU is busy. Hence, the alternative name 'NMI watchdog'.h]hX$The hard lockup detector monitors each CPU for its ability to respond to timer interrupts. The mechanism utilizes CPU performance counter registers that are programmed to generate Non-Maskable Interrupts (NMIs) periodically while a CPU is busy. Hence, the alternative name ‘NMI watchdog’.}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjS-hhubh)}(hThe NMI watchdog is disabled by default if the kernel is running as a guest in a KVM virtual machine. This default can be overridden by adding::h]hThe NMI watchdog is disabled by default if the kernel is running as a guest in a KVM virtual machine. This default can be overridden by adding:}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjS-hhubj)}(hnmi_watchdog=1h]hnmi_watchdog=1}hj*.sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhjS-hhubh)}(hWto the guest kernel command line (see Documentation/admin-guide/kernel-parameters.rst).h]hWto the guest kernel command line (see Documentation/admin-guide/kernel-parameters.rst).}(hj8.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjS-hhubeh}(h]jah ]h"] nmi_watchdogah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hnmi_wd_lpm_factor (PPC only)h]hnmi_wd_lpm_factor (PPC only)}(hjP.hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjM.hhhhhMubh)}(hFactor to apply to the NMI watchdog timeout (only when ``nmi_watchdog`` is set to 1). This factor represents the percentage added to ``watchdog_thresh`` when calculating the NMI watchdog timeout during an LPM. The soft lockup timeout is not impacted.h](h7Factor to apply to the NMI watchdog timeout (only when }(hj^.hhhNhNubjH)}(h``nmi_watchdog``h]h nmi_watchdog}(hjf.hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj^.ubh> is set to 1). This factor represents the percentage added to }(hj^.hhhNhNubjH)}(h``watchdog_thresh``h]hwatchdog_thresh}(hjx.hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj^.ubhb when calculating the NMI watchdog timeout during an LPM. The soft lockup timeout is not impacted.}(hj^.hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjM.hhubh)}(hA value of 0 means no change. The default value is 200 meaning the NMI watchdog is set to 30s (based on ``watchdog_thresh`` equal to 10).h](hhA value of 0 means no change. The default value is 200 meaning the NMI watchdog is set to 30s (based on }(hj.hhhNhNubjH)}(h``watchdog_thresh``h]hwatchdog_thresh}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj.ubh equal to 10).}(hj.hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjM.hhubeh}(h]jah ]h"]nmi_wd_lpm_factor (ppc only)ah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hnuma_balancingh]hnuma_balancing}(hj.hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj.hhhhhMubh)}(hEnables/disables and configures automatic page fault based NUMA memory balancing. Memory is moved automatically to nodes that access it often. The value to set can be the result of ORing the following:h]hEnables/disables and configures automatic page fault based NUMA memory balancing. Memory is moved automatically to nodes that access it often. The value to set can be the result of ORing the following:}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj.ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhj.ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hNUMA_BALANCING_DISABLEDh]hNUMA_BALANCING_DISABLED}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj /ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj//hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,/ubah}(h]h ]h"]h$]h&]uh1jhj)/ubj)}(hhh]h)}(hNUMA_BALANCING_NORMALh]hNUMA_BALANCING_NORMAL}(hjE/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjB/ubah}(h]h ]h"]h$]h&]uh1jhj)/ubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hje/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjb/ubah}(h]h ]h"]h$]h&]uh1jhj_/ubj)}(hhh]h)}(hNUMA_BALANCING_MEMORY_TIERINGh]hNUMA_BALANCING_MEMORY_TIERING}(hj{/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjx/ubah}(h]h ]h"]h$]h&]uh1jhj_/ubeh}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]colsKuh1jhj.ubah}(h]h ]h"]h$]h&]uh1j{hj.hhhhhNubh)}(hXOr NUMA_BALANCING_NORMAL to optimize page placement among different NUMA nodes to reduce remote accessing. On NUMA machines, there is a performance penalty if remote memory is accessed by a CPU. When this feature is enabled the kernel samples what task thread is accessing memory by periodically unmapping pages and later trapping a page fault. At the time of the page fault, it is determined if the data being accessed should be migrated to a local memory node.h]hXOr NUMA_BALANCING_NORMAL to optimize page placement among different NUMA nodes to reduce remote accessing. On NUMA machines, there is a performance penalty if remote memory is accessed by a CPU. When this feature is enabled the kernel samples what task thread is accessing memory by periodically unmapping pages and later trapping a page fault. At the time of the page fault, it is determined if the data being accessed should be migrated to a local memory node.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.hhubh)}(hThe unmapping of pages and trapping faults incur additional overhead that ideally is offset by improved memory locality but there is no universal guarantee. If the target workload is already bound to NUMA nodes then this feature should be disabled.h]hThe unmapping of pages and trapping faults incur additional overhead that ideally is offset by improved memory locality but there is no universal guarantee. If the target workload is already bound to NUMA nodes then this feature should be disabled.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.hhubh)}(hOr NUMA_BALANCING_MEMORY_TIERING to optimize page placement among different types of memory (represented as different NUMA nodes) to place the hot pages in the fast memory. This is implemented based on unmapping and page fault too.h]hOr NUMA_BALANCING_MEMORY_TIERING to optimize page placement among different types of memory (represented as different NUMA nodes) to place the hot pages in the fast memory. This is implemented based on unmapping and page fault too.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.hhubeh}(h]jah ]h"]numa_balancingah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h&numa_balancing_promote_rate_limit_MBpsh]h&numa_balancing_promote_rate_limit_MBps}(hj/hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj/hhhhhMubh)}(hToo high promotion/demotion throughput between different memory types may hurt application latency. This can be used to rate limit the promotion throughput. The per-node max promotion throughput in MB/s will be limited to be no more than the set value.h]hToo high promotion/demotion throughput between different memory types may hurt application latency. This can be used to rate limit the promotion throughput. The per-node max promotion throughput in MB/s will be limited to be no more than the set value.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/hhubh)}(hRA rule of thumb is to set this to less than 1/10 of the PMEM node write bandwidth.h]hRA rule of thumb is to set this to less than 1/10 of the PMEM node write bandwidth.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/hhubeh}(h]j$ah ]h"]&numa_balancing_promote_rate_limit_mbpsah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hoops_all_cpu_backtraceh]hoops_all_cpu_backtrace}(hj0hhhNhNubah}(h]h ]h"]h$]h&]jj@uh1hhj 0hhhhhMubh)}(hX)If this option is set, the kernel will send an NMI to all CPUs to dump their backtraces when an oops event occurs. It should be used as a last resort in case a panic cannot be triggered (to protect VMs running, for example) or kdump can't be collected. This file shows up if CONFIG_SMP is enabled.h]hX+If this option is set, the kernel will send an NMI to all CPUs to dump their backtraces when an oops event occurs. It should be used as a last resort in case a panic cannot be triggered (to protect VMs running, for example) or kdump can’t be collected. This file shows up if CONFIG_SMP is enabled.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj 0hhubh)}(hY0: Won't show all CPUs backtraces when an oops is detected. This is the default behavior.h]h[0: Won’t show all CPUs backtraces when an oops is detected. This is the default behavior.}(hj,0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj 0hhubh)}(ha1: Will non-maskably interrupt all CPUs and dump their backtraces when an oops event is detected.h]ha1: Will non-maskably interrupt all CPUs and dump their backtraces when an oops event is detected.}(hj:0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj 0hhubeh}(h]jFah ]h"]oops_all_cpu_backtraceah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h oops_limith]h oops_limit}(hjR0hhhNhNubah}(h]h ]h"]h$]h&]jjbuh1hhjO0hhhhhMubh)}(hNumber of kernel oopses after which the kernel should panic when ``panic_on_oops`` is not set. Setting this to 0 disables checking the count. Setting this to 1 has the same effect as setting ``panic_on_oops=1``. The default value is 10000.h](hANumber of kernel oopses after which the kernel should panic when }(hj`0hhhNhNubjH)}(h``panic_on_oops``h]h panic_on_oops}(hjh0hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj`0ubhn is not set. Setting this to 0 disables checking the count. Setting this to 1 has the same effect as setting }(hj`0hhhNhNubjH)}(h``panic_on_oops=1``h]hpanic_on_oops=1}(hjz0hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj`0ubh. The default value is 10000.}(hj`0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjO0hhubeh}(h]jhah ]h"] oops_limitah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hosrelease, ostype & versionh]hosrelease, ostype & version}(hj0hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj0hhhhhMubj)}(hW# cat osrelease 2.1.88 # cat ostype Linux # cat version #5 Wed Feb 25 21:49:24 MET 1998h]hW# cat osrelease 2.1.88 # cat ostype Linux # cat version #5 Wed Feb 25 21:49:24 MET 1998}hj0sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj0hhubh)}(hX=The files ``osrelease`` and ``ostype`` should be clear enough. ``version`` needs a little more clarification however. The '#5' means that this is the fifth kernel built from this source base and the date behind it indicates the time the kernel was built. The only way to tune these values is to rebuild the kernel :-)h](h The files }(hj0hhhNhNubjH)}(h ``osrelease``h]h osrelease}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj0ubh and }(hj0hhhNhNubjH)}(h ``ostype``h]hostype}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj0ubh should be clear enough. }(hj0hhhNhNubjH)}(h ``version``h]hversion}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj0ubh needs a little more clarification however. The ‘#5’ means that this is the fifth kernel built from this source base and the date behind it indicates the time the kernel was built. The only way to tune these values is to rebuild the kernel :-)}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM%hj0hhubeh}(h]jah ]h"]osrelease, ostype & versionah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hoverflowgid & overflowuidh]hoverflowgid & overflowuid}(hj1hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj1hhhhhM.ubh)}(hif your architecture did not always support 32-bit UIDs (i.e. arm, i386, m68k, sh, and sparc32), a fixed UID and GID will be returned to applications that use the old 16-bit UID/GID system calls, if the actual UID or GID would exceed 65535.h]hif your architecture did not always support 32-bit UIDs (i.e. arm, i386, m68k, sh, and sparc32), a fixed UID and GID will be returned to applications that use the old 16-bit UID/GID system calls, if the actual UID or GID would exceed 65535.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hj1hhubh)}(h[These sysctls allow you to change the value of the fixed UID and GID. The default is 65534.h]h[These sysctls allow you to change the value of the fixed UID and GID. The default is 65534.}(hj"1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hj1hhubeh}(h]jah ]h"]overflowgid & overflowuidah$]h&]uh1hhhhhhhhM.ubh)}(hhh](h)}(hpanich]hpanic}(hj:1hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj71hhhhhM:ubh)}(hIThe value in this file determines the behaviour of the kernel on a panic:h]hIThe value in this file determines the behaviour of the kernel on a panic:}(hjH1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hj71hhubj)}(hhh](j)}(h&if zero, the kernel will loop forever;h]h)}(hj[1h]h&if zero, the kernel will loop forever;}(hj]1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM?hjY1ubah}(h]h ]h"]h$]h&]uh1jhjV1hhhhhNubj)}(h0if negative, the kernel will reboot immediately;h]h)}(hjr1h]h0if negative, the kernel will reboot immediately;}(hjt1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hjp1ubah}(h]h ]h"]h$]h&]uh1jhjV1hhhhhNubj)}(hOif positive, the kernel will reboot after the corresponding number of seconds. h]h)}(hNif positive, the kernel will reboot after the corresponding number of seconds.h]hNif positive, the kernel will reboot after the corresponding number of seconds.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhj1ubah}(h]h ]h"]h$]h&]uh1jhjV1hhhhhNubeh}(h]h ]h"]h$]h&]jjuh1jhhhM?hj71hhubh)}(hBWhen you use the software watchdog, the recommended setting is 60.h]hBWhen you use the software watchdog, the recommended setting is 60.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhj71hhubeh}(h]jah ]h"]panicah$]h&]uh1hhhhhhhhM:ubh)}(hhh](h)}(hpanic_on_io_nmih]hpanic_on_io_nmi}(hj1hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj1hhhhhMHubh)}(hPControls the kernel's behavior when a CPU receives an NMI caused by an IO error.h]hRControls the kernel’s behavior when a CPU receives an NMI caused by an IO error.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhj1hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKBuh1jhj1ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(h$Try to continue operation (default).h]h$Try to continue operation (default).}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhj2ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj22hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMOhj/2ubah}(h]h ]h"]h$]h&]uh1jhj,2ubj)}(hhh]h)}(hX7Panic immediately. The IO error triggered an NMI. This indicates a serious system condition which could result in IO data corruption. Rather than continuing, panicking might be a better choice. Some servers issue this sort of NMI when the dump button is pushed, and you can use this option to take a crash dump.h]hX7Panic immediately. The IO error triggered an NMI. This indicates a serious system condition which could result in IO data corruption. Rather than continuing, panicking might be a better choice. Some servers issue this sort of NMI when the dump button is pushed, and you can use this option to take a crash dump.}(hjH2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMOhjE2ubah}(h]h ]h"]h$]h&]uh1jhj,2ubeh}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]colsKuh1jhj1ubah}(h]h ]h"]h$]h&]uh1j{hj1hhhhhNubeh}(h]jah ]h"]panic_on_io_nmiah$]h&]uh1hhhhhhhhMHubh)}(hhh](h)}(h panic_on_oopsh]h panic_on_oops}(hj2hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj|2hhhhhMXubh)}(hCControls the kernel's behaviour when an oops or BUG is encountered.h]hEControls the kernel’s behaviour when an oops or BUG is encountered.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj|2hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj2ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKCuh1jhj2ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hTry to continue operation.h]hTry to continue operation.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(h]Panic immediately. If the `panic` sysctl is also non-zero then the machine will be rebooted.h](hPanic immediately. If the }(hj 3hhhNhNubhtitle_reference)}(h`panic`h]hpanic}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj 3ubh; sysctl is also non-zero then the machine will be rebooted.}(hj 3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM^hj3ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]colsKuh1jhj2ubah}(h]h ]h"]h$]h&]uh1j{hj|2hhhhhNubeh}(h]j ah ]h"] panic_on_oopsah$]h&]uh1hhhhhhhhMXubh)}(hhh](h)}(hpanic_on_stackoverflowh]hpanic_on_stackoverflow}(hjU3hhhNhNubah}(h]h ]h"]h$]h&]jj. uh1hhjR3hhhhhMdubh)}(hControls the kernel's behavior when detecting the overflows of kernel, IRQ and exception stacks except a user stack. This file shows up if ``CONFIG_DEBUG_STACKOVERFLOW`` is enabled.h](hControls the kernel’s behavior when detecting the overflows of kernel, IRQ and exception stacks except a user stack. This file shows up if }(hjc3hhhNhNubjH)}(h``CONFIG_DEBUG_STACKOVERFLOW``h]hCONFIG_DEBUG_STACKOVERFLOW}(hjk3hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjc3ubh is enabled.}(hjc3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMfhjR3hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj3ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj3ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hTry to continue operation.h]hTry to continue operation.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hPanic immediately.h]hPanic immediately.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]colsKuh1jhj3ubah}(h]h ]h"]h$]h&]uh1j{hjR3hhhhhNubeh}(h]j4 ah ]h"]panic_on_stackoverflowah$]h&]uh1hhhhhhhhMdubh)}(hhh](h)}(hpanic_on_unrecovered_nmih]hpanic_on_unrecovered_nmi}(hj)4hhhNhNubah}(h]h ]h"]h$]h&]jjP uh1hhj&4hhhhhMqubh)}(hXThe default Linux behaviour on an NMI of either memory or unknown is to continue operation. For many environments such as scientific computing it is preferable that the box is taken out and the error dealt with than an uncorrected parity/ECC error get propagated.h]hXThe default Linux behaviour on an NMI of either memory or unknown is to continue operation. For many environments such as scientific computing it is preferable that the box is taken out and the error dealt with than an uncorrected parity/ECC error get propagated.}(hj74hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshj&4hhubh)}(hA small number of systems do generate NMIs for bizarre random reasons such as power management so the default is off. That sysctl works like the existing panic controls already in that directory.h]hA small number of systems do generate NMIs for bizarre random reasons such as power management so the default is off. That sysctl works like the existing panic controls already in that directory.}(hjE4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj&4hhubeh}(h]jV ah ]h"]panic_on_unrecovered_nmiah$]h&]uh1hhhhhhhhMqubh)}(hhh](h)}(h panic_on_warnh]h panic_on_warn}(hj]4hhhNhNubah}(h]h ]h"]h$]h&]jjr uh1hhjZ4hhhhhM~ubh)}(hCalls panic() in the WARN() path when set to 1. This is useful to avoid a kernel rebuild when attempting to kdump at the location of a WARN().h]hCalls panic() in the WARN() path when set to 1. This is useful to avoid a kernel rebuild when attempting to kdump at the location of a WARN().}(hjk4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZ4hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj|4ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK0uh1jhj|4ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hOnly WARN(), default behaviour.h]hOnly WARN(), default behaviour.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h0Call panic() after printing out WARN() location.h]h0Call panic() after printing out WARN() location.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj|4ubeh}(h]h ]h"]h$]h&]colsKuh1jhjy4ubah}(h]h ]h"]h$]h&]uh1j{hjZ4hhhhhNubeh}(h]jx ah ]h"] panic_on_warnah$]h&]uh1hhhhhhhhM~ubh)}(hhh](h)}(h panic_printh]h panic_print}(hj5hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj5hhhhhMubh)}(hfBitmask for printing system info when panic happens. User can chose combination of the following bits:h]hfBitmask for printing system info when panic happens. User can chose combination of the following bits:}(hj-5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj>5ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK:uh1jhj>5ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hbit 0h]hbit 0}(hj^5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[5ubah}(h]h ]h"]h$]h&]uh1jhjX5ubj)}(hhh]h)}(hprint all tasks infoh]hprint all tasks info}(hju5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjr5ubah}(h]h ]h"]h$]h&]uh1jhjX5ubeh}(h]h ]h"]h$]h&]uh1jhjU5ubj)}(hhh](j)}(hhh]h)}(hbit 1h]hbit 1}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hprint system memory infoh]hprint system memory info}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjU5ubj)}(hhh](j)}(hhh]h)}(hbit 2h]hbit 2}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hprint timer infoh]hprint timer info}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjU5ubj)}(hhh](j)}(hhh]h)}(hbit 3h]hbit 3}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(h,print locks info if ``CONFIG_LOCKDEP`` is onh](hprint locks info if }(hj6hhhNhNubjH)}(h``CONFIG_LOCKDEP``h]hCONFIG_LOCKDEP}(hj"6hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj6ubh is on}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjU5ubj)}(hhh](j)}(hhh]h)}(hbit 4h]hbit 4}(hjL6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjI6ubah}(h]h ]h"]h$]h&]uh1jhjF6ubj)}(hhh]h)}(hprint ftrace bufferh]hprint ftrace buffer}(hjc6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`6ubah}(h]h ]h"]h$]h&]uh1jhjF6ubeh}(h]h ]h"]h$]h&]uh1jhjU5ubj)}(hhh](j)}(hhh]h)}(hbit 5h]hbit 5}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj}6ubj)}(hhh]h)}(h:replay all kernel messages on consoles at the end of panich]h:replay all kernel messages on consoles at the end of panic}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj}6ubeh}(h]h ]h"]h$]h&]uh1jhjU5ubj)}(hhh](j)}(hhh]h)}(hbit 6h]hbit 6}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(h3print all CPUs backtrace (if available in the arch)h]h3print all CPUs backtrace (if available in the arch)}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjU5ubj)}(hhh](j)}(hhh]h)}(hbit 7h]hbit 7}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(h3print only tasks in uninterruptible (blocked) stateh]h3print only tasks in uninterruptible (blocked) state}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjU5ubeh}(h]h ]h"]h$]h&]uh1jhj>5ubeh}(h]h ]h"]h$]h&]colsKuh1jhj;5ubah}(h]h ]h"]h$]h&]uh1j{hj5hhhhhNubh)}(hBSo for example to print tasks and memory info on panic, user can::h]hASo for example to print tasks and memory info on panic, user can:}(hj57hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5hhubj)}(h%echo 3 > /proc/sys/kernel/panic_printh]h%echo 3 > /proc/sys/kernel/panic_print}hjC7sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj5hhubeh}(h]j ah ]h"] panic_printah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hpanic_sys_infoh]hpanic_sys_info}(hj[7hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjX7hhhhhMubh)}(hA comma separated list of extra information to be dumped on panic, for example, "tasks,mem,timers,...". It is a human readable alternative to 'panic_print'. Possible values are:h]hA comma separated list of extra information to be dumped on panic, for example, “tasks,mem,timers,...”. It is a human readable alternative to ‘panic_print’. Possible values are:}(hji7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjX7hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjz7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjz7ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(htasksh]htasks}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hprint all tasks infoh]hprint all tasks info}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(hmemh]hmem}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hprint system memory infoh]hprint system memory info}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(htimersh]htimers}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hprint timers infoh]hprint timers info}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(hlocksh]hlocks}(hj?8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<8ubah}(h]h ]h"]h$]h&]uh1jhj98ubj)}(hhh]h)}(h(print locks info if CONFIG_LOCKDEP is onh]h(print locks info if CONFIG_LOCKDEP is on}(hjV8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjS8ubah}(h]h ]h"]h$]h&]uh1jhj98ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(hftraceh]hftrace}(hjv8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjs8ubah}(h]h ]h"]h$]h&]uh1jhjp8ubj)}(hhh]h)}(hprint ftrace bufferh]hprint ftrace buffer}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhjp8ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(hall_bth]hall_bt}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(h3print all CPUs backtrace (if available in the arch)h]h3print all CPUs backtrace (if available in the arch)}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(h blocked_tasksh]h blocked_tasks}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(h3print only tasks in uninterruptible (blocked) stateh]h3print only tasks in uninterruptible (blocked) state}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhjz7ubeh}(h]h ]h"]h$]h&]colsKuh1jhjw7ubah}(h]h ]h"]h$]h&]uh1j{hjX7hhhhhNubeh}(h]j ah ]h"]panic_sys_infoah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hpanic_on_rcu_stallh]hpanic_on_rcu_stall}(hj29hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj/9hhhhhMubh)}(hWhen set to 1, calls panic() after RCU stall detection messages. This is useful to define the root cause of RCU stalls using a vmcore.h]hWhen set to 1, calls panic() after RCU stall detection messages. This is useful to define the root cause of RCU stalls using a vmcore.}(hj@9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/9hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjQ9ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1hhj;hhhhhMubh)}(hsControls use of the performance events system by unprivileged users (without CAP_PERFMON). The default value is 2.h]hsControls use of the performance events system by unprivileged users (without CAP_PERFMON). The default value is 2.}(hj+;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;hhubh)}(hX$For backward compatibility reasons access to system performance monitoring and observability remains open for CAP_SYS_ADMIN privileged processes but CAP_SYS_ADMIN usage for secure system performance monitoring and observability operations is discouraged with respect to CAP_PERFMON use cases.h]hX$For backward compatibility reasons access to system performance monitoring and observability remains open for CAP_SYS_ADMIN privileged processes but CAP_SYS_ADMIN usage for secure system performance monitoring and observability operations is discouraged with respect to CAP_PERFMON use cases.}(hj9;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjJ;ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKBuh1jhjJ;ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h-1h]h-1}(hjj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjg;ubah}(h]h ]h"]h$]h&]uh1jhjd;ubj)}(hhh](h)}(h.Allow use of (almost) all events by all users.h]h.Allow use of (almost) all events by all users.}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~;ubh)}(hFIgnore mlock limit after perf_event_mlock_kb without ``CAP_IPC_LOCK``.h](h5Ignore mlock limit after perf_event_mlock_kb without }(hj;hhhNhNubjH)}(h``CAP_IPC_LOCK``h]h CAP_IPC_LOCK}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj;ubh.}(hj;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj~;ubeh}(h]h ]h"]h$]h&]uh1jhjd;ubeh}(h]h ]h"]h$]h&]uh1jhja;ubj)}(hhh](j)}(hhh]h)}(h>=0h]h>=0}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](h)}(hEDisallow ftrace function tracepoint by users without ``CAP_PERFMON``.h](h5Disallow ftrace function tracepoint by users without }(hj;hhhNhNubjH)}(h``CAP_PERFMON``h]h CAP_PERFMON}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj;ubh.}(hj;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj;ubh)}(h@Disallow raw tracepoint access by users without ``CAP_PERFMON``.h](h0Disallow raw tracepoint access by users without }(hj;hhhNhNubjH)}(h``CAP_PERFMON``h]h CAP_PERFMON}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj;ubh.}(hj;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj;ubeh}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhja;ubj)}(hhh](j)}(hhh]h)}(h>=1h]h>=1}(hj*<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'<ubah}(h]h ]h"]h$]h&]uh1jhj$<ubj)}(hhh]h)}(h;Disallow CPU event access by users without ``CAP_PERFMON``.h](h+Disallow CPU event access by users without }(hjA<hhhNhNubjH)}(h``CAP_PERFMON``h]h CAP_PERFMON}(hjI<hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjA<ubh.}(hjA<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj><ubah}(h]h ]h"]h$]h&]uh1jhj$<ubeh}(h]h ]h"]h$]h&]uh1jhja;ubj)}(hhh](j)}(hhh]h)}(h>=2h]h>=2}(hjs<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjp<ubah}(h]h ]h"]h$]h&]uh1jhjm<ubj)}(hhh]h)}(h;Disallow kernel profiling by users without ``CAP_PERFMON``.h](h+Disallow kernel profiling by users without }(hj<hhhNhNubjH)}(h``CAP_PERFMON``h]h CAP_PERFMON}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj<ubh.}(hj<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhjm<ubeh}(h]h ]h"]h$]h&]uh1jhja;ubeh}(h]h ]h"]h$]h&]uh1jhjJ;ubeh}(h]h ]h"]h$]h&]colsKuh1jhjG;ubah}(h]h ]h"]h$]h&]uh1j{hj;hhhhhNubeh}(h]jD ah ]h"]perf_event_paranoidah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hperf_event_max_stackh]hperf_event_max_stack}(hj<hhhNhNubah}(h]h ]h"]h$]h&]jj` uh1hhj<hhhhhMubh)}(hControls maximum number of stack frames to copy for (``attr.sample_type & PERF_SAMPLE_CALLCHAIN``) configured events, for instance, when using '``perf record -g``' or '``perf trace --call-graph fp``'.h](h5Controls maximum number of stack frames to copy for (}(hj<hhhNhNubjH)}(h,``attr.sample_type & PERF_SAMPLE_CALLCHAIN``h]h(attr.sample_type & PERF_SAMPLE_CALLCHAIN}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj<ubh1) configured events, for instance, when using ‘}(hj<hhhNhNubjH)}(h``perf record -g``h]hperf record -g}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj<ubh ’ or ‘}(hj<hhhNhNubjH)}(h``perf trace --call-graph fp``h]hperf trace --call-graph fp}(hj =hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj<ubh’.}(hj<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj<hhubh)}(hThis can only be done when no events are in use that have callchains enabled, otherwise writing to this file will return ``-EBUSY``.h](hyThis can only be done when no events are in use that have callchains enabled, otherwise writing to this file will return }(hj%=hhhNhNubjH)}(h ``-EBUSY``h]h-EBUSY}(hj-=hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj%=ubh.}(hj%=hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj<hhubh)}(hThe default value is 127.h]hThe default value is 127.}(hjE=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<hhubeh}(h]jf ah ]h"]perf_event_max_stackah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hperf_event_mlock_kbh]hperf_event_mlock_kb}(hj]=hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjZ=hhhhhM ubh)}(hDControl size of per-cpu ring buffer not counted against mlock limit.h]hDControl size of per-cpu ring buffer not counted against mlock limit.}(hjk=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjZ=hhubh)}(h!The default value is 512 + 1 pageh]h!The default value is 512 + 1 page}(hjy=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZ=hhubeh}(h]j ah ]h"]perf_event_mlock_kbah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(h!perf_event_max_contexts_per_stackh]h!perf_event_max_contexts_per_stack}(hj=hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj=hhhhhMubh)}(hControls maximum number of stack frame context entries for (``attr.sample_type & PERF_SAMPLE_CALLCHAIN``) configured events, for instance, when using '``perf record -g``' or '``perf trace --call-graph fp``'.h](hhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=hhubeh}(h]j ah ]h"]!perf_event_max_contexts_per_stackah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h'perf_user_access (arm64 and riscv only)h]h'perf_user_access (arm64 and riscv only)}(hj>hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj>hhhhhM ubh)}(h;Controls user space access for reading perf event counters.h]h;Controls user space access for reading perf event counters.}(hj)>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hj>hhubj)}(hhh](j)}(hfor arm64 The default value is 0 (access disabled). When set to 1, user space can read performance monitor counter registers directly. See Documentation/arch/arm64/perf.rst for more information. h](h)}(h3for arm64 The default value is 0 (access disabled).h]h3for arm64 The default value is 0 (access disabled).}(hj>>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hj:>ubh)}(hRWhen set to 1, user space can read performance monitor counter registers directly.h]hRWhen set to 1, user space can read performance monitor counter registers directly.}(hjL>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hj:>ubh)}(h;See Documentation/arch/arm64/perf.rst for more information.h]h;See Documentation/arch/arm64/perf.rst for more information.}(hjZ>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hj:>ubeh}(h]h ]h"]h$]h&]uh1jhj7>hhhhhNubj)}(hXfor riscv When set to 0, user space access is disabled. The default value is 1, user space can read performance monitor counter registers through perf, any direct access without perf intervention will trigger an illegal instruction. When set to 2, which enables legacy mode (user space has direct access to cycle and insret CSRs only). Note that this legacy value is deprecated and will be removed once all user space applications are fixed. Note that the time CSR is always directly accessible to all modes. h](h)}(h7for riscv When set to 0, user space access is disabled.h]h7for riscv When set to 0, user space access is disabled.}(hjr>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjn>ubh)}(hThe default value is 1, user space can read performance monitor counter registers through perf, any direct access without perf intervention will trigger an illegal instruction.h]hThe default value is 1, user space can read performance monitor counter registers through perf, any direct access without perf intervention will trigger an illegal instruction.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjn>ubh)}(hWhen set to 2, which enables legacy mode (user space has direct access to cycle and insret CSRs only). Note that this legacy value is deprecated and will be removed once all user space applications are fixed.h]hWhen set to 2, which enables legacy mode (user space has direct access to cycle and insret CSRs only). Note that this legacy value is deprecated and will be removed once all user space applications are fixed.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hjn>ubh)}(hBNote that the time CSR is always directly accessible to all modes.h]hBNote that the time CSR is always directly accessible to all modes.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjn>ubeh}(h]h ]h"]h$]h&]uh1jhj7>hhhhhNubeh}(h]h ]h"]h$]h&]jjuh1jhhhM$hj>hhubeh}(h]j ah ]h"]'perf_user_access (arm64 and riscv only)ah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(hpid_maxh]hpid_max}(hj>hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj>hhhhhM:ubh)}(hPID allocation wrap value. When the kernel's next PID value reaches this value, it wraps back to a minimum PID value. PIDs of value ``pid_max`` or larger are not allocated.h](hPID allocation wrap value. When the kernel’s next PID value reaches this value, it wraps back to a minimum PID value. PIDs of value }(hj>hhhNhNubjH)}(h ``pid_max``h]hpid_max}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj>ubh or larger are not allocated.}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM<hj>hhubeh}(h]j ah ]h"]pid_maxah$]h&]uh1hhhhhhhhM:ubh)}(hhh](h)}(h ns_last_pidh]h ns_last_pid}(hj>hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj>hhhhhMBubh)}(hThe last pid allocated in the current (the one task using this sysctl lives in) pid namespace. When selecting a pid for a next task on fork kernel tries to allocate a number starting from this one.h]hThe last pid allocated in the current (the one task using this sysctl lives in) pid namespace. When selecting a pid for a next task on fork kernel tries to allocate a number starting from this one.}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhj>hhubeh}(h]j ah ]h"] ns_last_pidah$]h&]uh1hhhhhhhhMBubh)}(hhh](h)}(hpowersave-nap (PPC only)h]hpowersave-nap (PPC only)}(hj?hhhNhNubah}(h]h ]h"]h$]h&]jj, uh1hhj?hhhhhMJubh)}(haIf set, Linux-PPC will use the 'nap' mode of powersaving, otherwise the 'doze' mode will be used.h]hiIf set, Linux-PPC will use the ‘nap’ mode of powersaving, otherwise the ‘doze’ mode will be used.}(hj,?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhj?hhubeh}(h]j2 ah ]h"]powersave-nap (ppc only)ah$]h&]uh1hhhhhhhhMJubj4)}(h>==============================================================h]h}(h]h ]h"]h$]h&]uh1j3hhhMPhhhhubh)}(hhh](h)}(hprintkh]hprintk}(hjN?hhhNhNubah}(h]h ]h"]h$]h&]jjN uh1hhjK?hhhhhMSubh)}(hThe four values in printk denote: ``console_loglevel``, ``default_message_loglevel``, ``minimum_console_loglevel`` and ``default_console_loglevel`` respectively.h](h"The four values in printk denote: }(hj\?hhhNhNubjH)}(h``console_loglevel``h]hconsole_loglevel}(hjd?hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj\?ubh, }(hj\?hhhNhNubjH)}(h``default_message_loglevel``h]hdefault_message_loglevel}(hjv?hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj\?ubh, }(hj\?hhhNhNubjH)}(h``minimum_console_loglevel``h]hminimum_console_loglevel}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj\?ubh and }(hj\?hhhNhNubjH)}(h``default_console_loglevel``h]hdefault_console_loglevel}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj\?ubh respectively.}(hj\?hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMUhjK?hhubh)}(hThese values influence printk() behavior when printing or logging error messages. See '``man 2 syslog``' for more info on the different loglevels.h](hYThese values influence printk() behavior when printing or logging error messages. See ‘}(hj?hhhNhNubjH)}(h``man 2 syslog``h]h man 2 syslog}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj?ubh-’ for more info on the different loglevels.}(hj?hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMYhjK?hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj?ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhj?ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hconsole_loglevelh]hconsole_loglevel}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(hHmessages with a higher priority than this will be printed to the consoleh]hHmessages with a higher priority than this will be printed to the console}(hj @hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hj @ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh](j)}(hhh]h)}(hdefault_message_loglevelh]hdefault_message_loglevel}(hj,@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj)@ubah}(h]h ]h"]h$]h&]uh1jhj&@ubj)}(hhh]h)}(hHmessages without an explicit priority will be printed with this priorityh]hHmessages without an explicit priority will be printed with this priority}(hjC@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj@@ubah}(h]h ]h"]h$]h&]uh1jhj&@ubeh}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh](j)}(hhh]h)}(hminimum_console_loglevelh]hminimum_console_loglevel}(hjc@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj`@ubah}(h]h ]h"]h$]h&]uh1jhj]@ubj)}(hhh]h)}(h==============================================================h]h}(h]h ]h"]h$]h&]uh1j3hhhMhhhhubh)}(hhh](h)}(hptyh]hpty}(hjChhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjChhhhhMubh)}(h)See Documentation/filesystems/devpts.rst.h]h)See Documentation/filesystems/devpts.rst.}(hj'ChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjChhubeh}(h]j ah ]h"]ptyah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hrandomh]hrandom}(hj?ChhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjHhhhNhNubjH)}(h ``PAGE_SIZE``h]h PAGE_SIZE}(hjFHhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj>Hubh< is on your Linux system, you can run the following command:}(hj>HhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMNhjGhhubj)}(h# getconf PAGE_SIZEh]h# getconf PAGE_SIZE}hj^Hsbah}(h]h ]h"]h$]h&]hhuh1jhhhMQhjGhhubh)}(hTo reduce or disable the ability to allocate shared memory, you must create a new ipc namespace, set this parameter to the required value and prohibit the creation of a new ipc namespace in the current user namespace or cgroups can be used.h]hTo reduce or disable the ability to allocate shared memory, you must create a new ipc namespace, set this parameter to the required value and prohibit the creation of a new ipc namespace in the current user namespace or cgroups can be used.}(hjlHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjGhhubeh}(h]j ah ]h"]shmallah$]h&]uh1hhhhhhhhMGubh)}(hhh](h)}(hshmmaxh]hshmmax}(hjHhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjHhhhhhMYubh)}(hThis value can be used to query and set the run time limit on the maximum shared memory segment size that can be created. Shared memory segments up to 1Gb are now supported in the kernel. This value defaults to ``SHMMAX``.h](hThis value can be used to query and set the run time limit on the maximum shared memory segment size that can be created. Shared memory segments up to 1Gb are now supported in the kernel. This value defaults to }(hjHhhhNhNubjH)}(h ``SHMMAX``h]hSHMMAX}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjHubh.}(hjHhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM[hjHhhubeh}(h]j ah ]h"]shmmaxah$]h&]uh1hhhhhhhhMYubh)}(hhh](h)}(hshmmnih]hshmmni}(hjHhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjHhhhhhMbubh)}(haThis value determines the maximum number of shared memory segments. 4096 by default (``SHMMNI``).h](hUThis value determines the maximum number of shared memory segments. 4096 by default (}(hjHhhhNhNubjH)}(h ``SHMMNI``h]hSHMMNI}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjHubh).}(hjHhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMdhjHhhubeh}(h]j ah ]h"]shmmniah$]h&]uh1hhhhhhhhMbubh)}(hhh](h)}(hshm_rmid_forcedh]hshm_rmid_forced}(hjHhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjHhhhhhMiubh)}(hX[Linux lets you set resource limits, including how much memory one process can consume, via ``setrlimit(2)``. Unfortunately, shared memory segments are allowed to exist without association with any process, and thus might not be counted against any resource limits. If enabled, shared memory segments are automatically destroyed when their attach count becomes zero after a detach or a process termination. It will also destroy segments that were created, but never attached to, on exit from the process. The only use left for ``IPC_RMID`` is to immediately destroy an unattached segment. Of course, this breaks the way things are defined, so some applications might stop working. Note that this feature will do you no good unless you also configure your resource limits (in particular, ``RLIMIT_AS`` and ``RLIMIT_NPROC``). Most systems don't need this.h](h[Linux lets you set resource limits, including how much memory one process can consume, via }(hjIhhhNhNubjH)}(h``setrlimit(2)``h]h setrlimit(2)}(hj IhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjIubhX. Unfortunately, shared memory segments are allowed to exist without association with any process, and thus might not be counted against any resource limits. If enabled, shared memory segments are automatically destroyed when their attach count becomes zero after a detach or a process termination. It will also destroy segments that were created, but never attached to, on exit from the process. The only use left for }(hjIhhhNhNubjH)}(h ``IPC_RMID``h]hIPC_RMID}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjIubh is to immediately destroy an unattached segment. Of course, this breaks the way things are defined, so some applications might stop working. Note that this feature will do you no good unless you also configure your resource limits (in particular, }(hjIhhhNhNubjH)}(h ``RLIMIT_AS``h]h RLIMIT_AS}(hj.IhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjIubh and }(hjIhhhNhNubjH)}(h``RLIMIT_NPROC``h]h RLIMIT_NPROC}(hj@IhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjIubh#). Most systems don’t need this.}(hjIhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMkhjHhhubh)}(hNote that if you change this from 0 to 1, already created segments without users and with a dead originative process will be destroyed.h]hNote that if you change this from 0 to 1, already created segments without users and with a dead originative process will be destroyed.}(hjXIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhjHhhubeh}(h]j ah ]h"]shm_rmid_forcedah$]h&]uh1hhhhhhhhMiubh)}(hhh](h)}(hsysctl_writes_stricth]hsysctl_writes_strict}(hjpIhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjmIhhhhhM~ubh)}(hiControl how file position affects the behavior of updating sysctl values via the ``/proc/sys`` interface:h](hQControl how file position affects the behavior of updating sysctl values via the }(hj~IhhhNhNubjH)}(h ``/proc/sys``h]h /proc/sys}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj~Iubh interface:}(hj~IhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjmIhhubj)}(hX== ====================================================================== -1 Legacy per-write sysctl value handling, with no printk warnings. Each write syscall must fully contain the sysctl value to be written, and multiple writes on the same sysctl file descriptor will rewrite the sysctl value, regardless of file position. 0 Same behavior as above, but warn about processes that perform writes to a sysctl file descriptor when the file position is not 0. 1 (default) Respect file position when writing sysctl strings. Multiple writes will append to the sysctl value buffer. Anything past the max length of the sysctl value buffer will be ignored. Writes to numeric sysctl entries must always be at file position 0 and the value must be fully contained in the buffer sent in the write syscall. == ====================================================================== h]j|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjIubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKFuh1jhjIubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h-1h]h-1}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(hLegacy per-write sysctl value handling, with no printk warnings. Each write syscall must fully contain the sysctl value to be written, and multiple writes on the same sysctl file descriptor will rewrite the sysctl value, regardless of file position.h]hLegacy per-write sysctl value handling, with no printk warnings. Each write syscall must fully contain the sysctl value to be written, and multiple writes on the same sysctl file descriptor will rewrite the sysctl value, regardless of file position.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(hjh]h0}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(hSame behavior as above, but warn about processes that perform writes to a sysctl file descriptor when the file position is not 0.h]hSame behavior as above, but warn about processes that perform writes to a sysctl file descriptor when the file position is not 0.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj2JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/Jubah}(h]h ]h"]h$]h&]uh1jhj,Jubj)}(hhh]h)}(hXO(default) Respect file position when writing sysctl strings. Multiple writes will append to the sysctl value buffer. Anything past the max length of the sysctl value buffer will be ignored. Writes to numeric sysctl entries must always be at file position 0 and the value must be fully contained in the buffer sent in the write syscall.h]hXO(default) Respect file position when writing sysctl strings. Multiple writes will append to the sysctl value buffer. Anything past the max length of the sysctl value buffer will be ignored. Writes to numeric sysctl entries must always be at file position 0 and the value must be fully contained in the buffer sent in the write syscall.}(hjHJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEJubah}(h]h ]h"]h$]h&]uh1jhj,Jubeh}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]colsKuh1jhjIubah}(h]h ]h"]h$]h&]uh1j{hjIubah}(h]h ]h"]h$]h&]uh1jhhhMhjmIhhubeh}(h]jah ]h"]sysctl_writes_strictah$]h&]uh1hhhhhhhhM~ubh)}(hhh](h)}(hsoftlockup_all_cpu_backtraceh]hsoftlockup_all_cpu_backtrace}(hjJhhhNhNubah}(h]h ]h"]h$]h&]jj:uh1hhjJhhhhhMubh)}(hThis value controls the soft lockup detector thread's behavior when a soft lockup condition is detected as to whether or not to gather further debug information. If enabled, each cpu will be issued an NMI and instructed to capture stack trace.h]hThis value controls the soft lockup detector thread’s behavior when a soft lockup condition is detected as to whether or not to gather further debug information. If enabled, each cpu will be issued an NMI and instructed to capture stack trace.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJhhubh)}(hDThis feature is only applicable for architectures which support NMI.h]hDThis feature is only applicable for architectures which support NMI.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjJubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjJubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(h)Do nothing. This is the default behavior.h]h)Do nothing. This is the default behavior.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(h,On detection capture more debug information.h]h,On detection capture more debug information.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]colsKuh1jhjJubah}(h]h ]h"]h$]h&]uh1j{hjJhhhhhNubeh}(h]j@ah ]h"]softlockup_all_cpu_backtraceah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsoftlockup_panich]hsoftlockup_panic}(hjUKhhhNhNubah}(h]h ]h"]h$]h&]jj\uh1hhjRKhhhhhMubh)}(h_This parameter can be used to control whether the kernel panics when a soft lockup is detected.h]h_This parameter can be used to control whether the kernel panics when a soft lockup is detected.}(hjcKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRKhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjtKubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjtKubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hDon't panic on soft lockup.h]hDon’t panic on soft lockup.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hPanic on soft lockup.h]hPanic on soft lockup.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjtKubeh}(h]h ]h"]h$]h&]colsKuh1jhjqKubah}(h]h ]h"]h$]h&]uh1j{hjRKhhhhhNubh)}(hAThis can also be set using the softlockup_panic kernel parameter.h]hAThis can also be set using the softlockup_panic kernel parameter.}(hj LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRKhhubeh}(h]jbah ]h"]softlockup_panicah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h soft_watchdogh]h soft_watchdog}(hj%LhhhNhNubah}(h]h ]h"]h$]h&]jj~uh1hhj"LhhhhhMubh)}(h?This parameter can be used to control the soft lockup detector.h]h?This parameter can be used to control the soft lockup detector.}(hj3LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"Lhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjDLubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhjDLubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjdLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaLubah}(h]h ]h"]h$]h&]uh1jhj^Lubj)}(hhh]h)}(h!Disable the soft lockup detector.h]h!Disable the soft lockup detector.}(hjzLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjwLubah}(h]h ]h"]h$]h&]uh1jhj^Lubeh}(h]h ]h"]h$]h&]uh1jhj[Lubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(h Enable the soft lockup detector.h]h Enable the soft lockup detector.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhj[Lubeh}(h]h ]h"]h$]h&]uh1jhjDLubeh}(h]h ]h"]h$]h&]colsKuh1jhjALubah}(h]h ]h"]h$]h&]uh1j{hj"LhhhhhNubh)}(hXThe soft lockup detector monitors CPUs for threads that are hogging the CPUs without rescheduling voluntarily, and thus prevent the 'migration/N' threads from running, causing the watchdog work fail to execute. The mechanism depends on the CPUs ability to respond to timer interrupts which are needed for the watchdog work to be queued by the watchdog timer function, otherwise the NMI watchdog — if enabled — can detect a hard lockup condition.h]hXThe soft lockup detector monitors CPUs for threads that are hogging the CPUs without rescheduling voluntarily, and thus prevent the ‘migration/N’ threads from running, causing the watchdog work fail to execute. The mechanism depends on the CPUs ability to respond to timer interrupts which are needed for the watchdog work to be queued by the watchdog timer function, otherwise the NMI watchdog — if enabled — can detect a hard lockup condition.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"Lhhubeh}(h]jah ]h"] soft_watchdogah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsplit_lock_mitigate (x86 only)h]hsplit_lock_mitigate (x86 only)}(hjLhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjLhhhhhMubh)}(hOn x86, each "split lock" imposes a system-wide performance penalty. On larger systems, large numbers of split locks from unprivileged users can result in denials of service to well-behaved and potentially more important users.h]hOn x86, each “split lock” imposes a system-wide performance penalty. On larger systems, large numbers of split locks from unprivileged users can result in denials of service to well-behaved and potentially more important users.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubh)}(hThe kernel mitigates these bad users by detecting split locks and imposing penalties: forcing them to wait and only allowing one core to execute split locks at a time.h]hThe kernel mitigates these bad users by detecting split locks and imposing penalties: forcing them to wait and only allowing one core to execute split locks at a time.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubh)}(hThese mitigations can make those bad applications unbearably slow. Setting split_lock_mitigate=0 may restore some application performance, but will also increase system exposure to denial of service attacks from split lock users.h]hThese mitigations can make those bad applications unbearably slow. Setting split_lock_mitigate=0 may restore some application performance, but will also increase system exposure to denial of service attacks from split lock users.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj0Mubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKFuh1jhj0Mubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjPMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMMubah}(h]h ]h"]h$]h&]uh1jhjJMubj)}(hhh]h)}(hDisable the mitigation mode - just warns the split lock on kernel log and exposes the system to denials of service from the split lockers.h]hDisable the mitigation mode - just warns the split lock on kernel log and exposes the system to denials of service from the split lockers.}(hjfMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcMubah}(h]h ]h"]h$]h&]uh1jhjJMubeh}(h]h ]h"]h$]h&]uh1jhjGMubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(hxEnable the mitigation mode (this is the default) - penalizes the split lockers with intentional performance degradation.h]hxEnable the mitigation mode (this is the default) - penalizes the split lockers with intentional performance degradation.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjGMubeh}(h]h ]h"]h$]h&]uh1jhj0Mubeh}(h]h ]h"]h$]h&]colsKuh1jhj-Mubah}(h]h ]h"]h$]h&]uh1j{hjLhhhhhNubeh}(h]jah ]h"]split_lock_mitigate (x86 only)ah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h stack_erasingh]h stack_erasing}(hjMhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjMhhhhhMubh)}(hThis parameter can be used to control kernel stack erasing at the end of syscalls for kernels built with ``CONFIG_KSTACK_ERASE``.h](hiThis parameter can be used to control kernel stack erasing at the end of syscalls for kernels built with }(hjMhhhNhNubjH)}(h``CONFIG_KSTACK_ERASE``h]hCONFIG_KSTACK_ERASE}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjMubh.}(hjMhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjMhhubh)}(hXThat erasing reduces the information which kernel stack leak bugs can reveal and blocks some uninitialized stack variable attacks. The tradeoff is the performance impact: on a single CPU system kernel compilation sees a 1% slowdown, other systems and workloads may vary.h]hXThat erasing reduces the information which kernel stack leak bugs can reveal and blocks some uninitialized stack variable attacks. The tradeoff is the performance impact: on a single CPU system kernel compilation sees a 1% slowdown, other systems and workloads may vary.}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjNubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKGuh1jhjNubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hj2NhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/Nubah}(h]h ]h"]h$]h&]uh1jhj,Nubj)}(hhh]h)}(hGKernel stack erasing is disabled, KSTACK_ERASE_METRICS are not updated.h]hGKernel stack erasing is disabled, KSTACK_ERASE_METRICS are not updated.}(hjHNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjENubah}(h]h ]h"]h$]h&]uh1jhj,Nubeh}(h]h ]h"]h$]h&]uh1jhj)Nubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjhNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeNubah}(h]h ]h"]h$]h&]uh1jhjbNubj)}(hhh]h)}(htKernel stack erasing is enabled (default), it is performed before returning to the userspace at the end of syscalls.h]htKernel stack erasing is enabled (default), it is performed before returning to the userspace at the end of syscalls.}(hj~NhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{Nubah}(h]h ]h"]h$]h&]uh1jhjbNubeh}(h]h ]h"]h$]h&]uh1jhj)Nubeh}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]colsKuh1jhjNubah}(h]h ]h"]h$]h&]uh1j{hjMhhhhhNubeh}(h]jah ]h"] stack_erasingah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hstop-a (SPARC only)h]hstop-a (SPARC only)}(hjNhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjNhhhhhMubh)}(hControls Stop-A:h]hControls Stop-A:}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjNubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjNubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(hStop-A has no effect.h]hStop-A has no effect.}(hj OhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj*OhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'Oubah}(h]h ]h"]h$]h&]uh1jhj$Oubj)}(hhh]h)}(h$Stop-A breaks to the PROM (default).h]h$Stop-A breaks to the PROM (default).}(hj@OhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=Oubah}(h]h ]h"]h$]h&]uh1jhj$Oubeh}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]colsKuh1jhjNubah}(h]h ]h"]h$]h&]uh1j{hjNhhhhhNubh)}(hRStop-A is always enabled on a panic, so that the user can return to the boot PROM.h]hRStop-A is always enabled on a panic, so that the user can return to the boot PROM.}(hjmOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNhhubeh}(h]jah ]h"]stop-a (sparc only)ah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsysrqh]hsysrq}(hjOhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjOhhhhhMubh)}(h(See Documentation/admin-guide/sysrq.rst.h]h(See Documentation/admin-guide/sysrq.rst.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOhhubeh}(h]j ah ]h"]sysrqah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(htaintedh]htainted}(hjOhhhNhNubah}(h]h ]h"]h$]h&]jj(uh1hhjOhhhhhMubh)}(hNon-zero if the kernel has been tainted. Numeric values, which can be ORed together. The letters are seen in "Tainted" line of Oops reports.h]hNon-zero if the kernel has been tainted. Numeric values, which can be ORed together. The letters are seen in “Tainted” line of Oops reports.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjOubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjOubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK>uh1jhjOubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h1}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(h`(P)`h]j3)}(hj Ph]h(P)}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj Pubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(hproprietary module was loadedh]hproprietary module was loaded}(hj*PhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'Pubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hjJPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjGPubah}(h]h ]h"]h$]h&]uh1jhjDPubj)}(hhh]h)}(h`(F)`h]j3)}(hjbPh]h(F)}(hjdPhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj`Pubah}(h]h ]h"]h$]h&]uh1hhhhMhj]Pubah}(h]h ]h"]h$]h&]uh1jhjDPubj)}(hhh]h)}(hmodule was force loadedh]hmodule was force loaded}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj}Pubah}(h]h ]h"]h$]h&]uh1jhjDPubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(hjh]h4}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjPubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(h`(S)`h]j3)}(hjPh]h(S)}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjPubah}(h]h ]h"]h$]h&]uh1hhhhM hjPubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(h0kernel running on an out of specification systemh]h0kernel running on an out of specification system}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjPubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h8h]h8}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjPubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(h`(R)`h]j3)}(hjQh]h(R)}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj Qubah}(h]h ]h"]h$]h&]uh1hhhhM hj Qubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hmodule was force unloadedh]hmodule was force unloaded}(hj-QhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj*Qubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h16h]h16}(hjMQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjJQubah}(h]h ]h"]h$]h&]uh1jhjGQubj)}(hhh]h)}(h`(M)`h]j3)}(hjfQh]h(M)}(hjhQhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjdQubah}(h]h ]h"]h$]h&]uh1hhhhM hjaQubah}(h]h ]h"]h$]h&]uh1jhjGQubj)}(hhh]h)}(h2processor reported a Machine Check Exception (MCE)h]h2processor reported a Machine Check Exception (MCE)}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjQubah}(h]h ]h"]h$]h&]uh1jhjGQubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h32h]h32}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjQubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(h`(B)`h]j3)}(hjQh]h(B)}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjQubah}(h]h ]h"]h$]h&]uh1hhhhM hjQubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(h1bad page referenced or some unexpected page flagsh]h1bad page referenced or some unexpected page flags}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjQubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h64h]h64}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjQubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(h`(U)`h]j3)}(hjRh]h(U)}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjRubah}(h]h ]h"]h$]h&]uh1hhhhM hjRubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(h(taint requested by userspace applicationh]h(taint requested by userspace application}(hj2RhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj/Rubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h128h]h128}(hjRRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjORubah}(h]h ]h"]h$]h&]uh1jhjLRubj)}(hhh]h)}(h`(D)`h]j3)}(hjkRh]h(D)}(hjmRhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjiRubah}(h]h ]h"]h$]h&]uh1hhhhMhjfRubah}(h]h ]h"]h$]h&]uh1jhjLRubj)}(hhh]h)}(h3kernel died recently, i.e. there was an OOPS or BUGh]h3kernel died recently, i.e. there was an OOPS or BUG}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjLRubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h256h]h256}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(h`(A)`h]j3)}(hjRh]h(A)}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjRubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(h$an ACPI table was overridden by userh]h$an ACPI table was overridden by user}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h512h]h512}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(h`(W)`h]j3)}(hjSh]h(W)}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjSubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(hkernel issued warningh]hkernel issued warning}(hj7ShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4Subah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h1024h]h1024}(hjWShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTSubah}(h]h ]h"]h$]h&]uh1jhjQSubj)}(hhh]h)}(h`(C)`h]j3)}(hjpSh]h(C)}(hjrShhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjnSubah}(h]h ]h"]h$]h&]uh1hhhhMhjkSubah}(h]h ]h"]h$]h&]uh1jhjQSubj)}(hhh]h)}(hstaging driver was loadedh]hstaging driver was loaded}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjQSubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h2048h]h2048}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h`(I)`h]j3)}(hjSh]h(I)}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjSubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h/workaround for bug in platform firmware appliedh]h/workaround for bug in platform firmware applied}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h4096h]h4096}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h`(O)`h]j3)}(hjTh]h(O)}(hj ThhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjTubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h2externally-built ("out-of-tree") module was loadedh]h6externally-built (“out-of-tree”) module was loaded}(hjUubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h65536h]h65536}(hjaUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj^Uubah}(h]h ]h"]h$]h&]uh1jhj[Uubj)}(hhh]h)}(h`(X)`h]j3)}(hjzUh]h(X)}(hj|UhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjxUubah}(h]h ]h"]h$]h&]uh1hhhhMhjuUubah}(h]h ]h"]h$]h&]uh1jhj[Uubj)}(hhh]h)}(h0Auxiliary taint, defined and used by for distrosh]h0Auxiliary taint, defined and used by for distros}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhj[Uubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h131072h]h131072}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(h`(T)`h]j3)}(hjUh]h(T)}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjUubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(h9The kernel was built with the struct randomization pluginh]h9The kernel was built with the struct randomization plugin}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]colsKuh1jhjOubah}(h]h ]h"]h$]h&]uh1j{ihjOhhhhhNubh)}(hGSee Documentation/admin-guide/tainted-kernels.rst for more information.h]hGSee Documentation/admin-guide/tainted-kernels.rst for more information.}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOhhubj)}(hhh]j)}(hXNote: writes to this sysctl interface will fail with ``EINVAL`` if the kernel is booted with the command line option ``panic_on_taint=,nousertaint`` and any of the ORed together values being written to ``tainted`` match with the bitmask declared on panic_on_taint. See Documentation/admin-guide/kernel-parameters.rst for more details on that particular kernel command line option and its optional ``nousertaint`` switch. h](j)}(hNote:h]hNote:}(hj1VhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhM$hj-Vubj )}(hhh]h)}(hXwrites to this sysctl interface will fail with ``EINVAL`` if the kernel is booted with the command line option ``panic_on_taint=,nousertaint`` and any of the ORed together values being written to ``tainted`` match with the bitmask declared on panic_on_taint. See Documentation/admin-guide/kernel-parameters.rst for more details on that particular kernel command line option and its optional ``nousertaint`` switch.h](h/writes to this sysctl interface will fail with }(hjBVhhhNhNubjH)}(h ``EINVAL``h]hEINVAL}(hjJVhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjBVubh6 if the kernel is booted with the command line option }(hjBVhhhNhNubjH)}(h(``panic_on_taint=,nousertaint``h]h$panic_on_taint=,nousertaint}(hj\VhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjBVubh6 and any of the ORed together values being written to }(hjBVhhhNhNubjH)}(h ``tainted``h]htainted}(hjnVhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjBVubh match with the bitmask declared on panic_on_taint. See Documentation/admin-guide/kernel-parameters.rst for more details on that particular kernel command line option and its optional }(hjBVhhhNhNubjH)}(h``nousertaint``h]h nousertaint}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjBVubh switch.}(hjBVhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj?Vubah}(h]h ]h"]h$]h&]uh1j hj-Vubeh}(h]h ]h"]h$]h&]uh1jhhhM$hj*Vubah}(h]h ]h"]h$]h&]uh1jhjOhhhhhNubeh}(h]j.ah ]h"]taintedah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h threads-maxh]h threads-max}(hjVhhhNhNubah}(h]h ]h"]h$]h&]jjJuh1hhjVhhhhhM'ubh)}(hWThis value controls the maximum number of threads that can be created using ``fork()``.h](hLThis value controls the maximum number of threads that can be created using }(hjVhhhNhNubjH)}(h ``fork()``h]hfork()}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjVubh.}(hjVhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM)hjVhhubh)}(hDuring initialization the kernel sets this value such that even if the maximum number of threads is created, the thread structures occupy only a part (1/8th) of the available RAM pages.h]hDuring initialization the kernel sets this value such that even if the maximum number of threads is created, the thread structures occupy only a part (1/8th) of the available RAM pages.}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjVhhubh)}(h>The minimum value that can be written to ``threads-max`` is 1.h](h)The minimum value that can be written to }(hjVhhhNhNubjH)}(h``threads-max``h]h threads-max}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjVubh is 1.}(hjVhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM0hjVhhubh)}(hrThe maximum value that can be written to ``threads-max`` is given by the constant ``FUTEX_TID_MASK`` (0x3fffffff).h](h)The maximum value that can be written to }(hjWhhhNhNubjH)}(h``threads-max``h]h threads-max}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjWubh is given by the constant }(hjWhhhNhNubjH)}(h``FUTEX_TID_MASK``h]hFUTEX_TID_MASK}(hj*WhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjWubh (0x3fffffff).}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM2hjVhhubh)}(hZIf a value outside of this range is written to ``threads-max`` an ``EINVAL`` error occurs.h](h/If a value outside of this range is written to }(hjBWhhhNhNubjH)}(h``threads-max``h]h threads-max}(hjJWhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjBWubh an }(hjBWhhhNhNubjH)}(h ``EINVAL``h]hEINVAL}(hj\WhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjBWubh error occurs.}(hjBWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM5hjVhhubeh}(h]jPah ]h"] threads-maxah$]h&]uh1hhhhhhhhM'ubh)}(hhh](h)}(htimer_migrationh]htimer_migration}(hj~WhhhNhNubah}(h]h ]h"]h$]h&]jjluh1hhj{WhhhhhM9ubh)}(hWhen set to a non-zero value, attempt to migrate timers away from idle cpus to allow them to remain in low power states longer.h]hWhen set to a non-zero value, attempt to migrate timers away from idle cpus to allow them to remain in low power states longer.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM;hj{Whhubh)}(hDefault is set (1).h]hDefault is set (1).}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hj{Whhubeh}(h]jrah ]h"]timer_migrationah$]h&]uh1hhhhhhhhM9ubh)}(hhh](h)}(htraceoff_on_warningh]htraceoff_on_warning}(hjWhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjWhhhhhMAubh)}(hYWhen set, disables tracing (see Documentation/trace/ftrace.rst) when a ``WARN()`` is hit.h](hGWhen set, disables tracing (see Documentation/trace/ftrace.rst) when a }(hjWhhhNhNubjH)}(h ``WARN()``h]hWARN()}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjWubh is hit.}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMChjWhhubeh}(h]jah ]h"]traceoff_on_warningah$]h&]uh1hhhhhhhhMAubh)}(hhh](h)}(htracepoint_printkh]htracepoint_printk}(hjWhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjWhhhhhMHubh)}(hzWhen tracepoints are sent to printk() (enabled by the ``tp_printk`` boot parameter), this entry provides runtime control::h](h6When tracepoints are sent to printk() (enabled by the }(hjWhhhNhNubjH)}(h ``tp_printk``h]h tp_printk}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjWubh6 boot parameter), this entry provides runtime control:}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMJhjWhhubj)}(h+echo 0 > /proc/sys/kernel/tracepoint_printkh]h+echo 0 > /proc/sys/kernel/tracepoint_printk}hjXsbah}(h]h ]h"]h$]h&]hhuh1jhhhMMhjWhhubh)}(h8will stop tracepoints from being sent to printk(), and::h]h7will stop tracepoints from being sent to printk(), and:}(hj&XhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMOhjWhhubj)}(h+echo 1 > /proc/sys/kernel/tracepoint_printkh]h+echo 1 > /proc/sys/kernel/tracepoint_printk}hj4Xsbah}(h]h ]h"]h$]h&]hhuh1jhhhMQhjWhhubh)}(h!will send them to printk() again.h]h!will send them to printk() again.}(hjBXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjWhhubh)}(hDThis only works if the kernel was booted with ``tp_printk`` enabled.h](h.This only works if the kernel was booted with }(hjPXhhhNhNubjH)}(h ``tp_printk``h]h tp_printk}(hjXXhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjPXubh enabled.}(hjPXhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMUhjWhhubh)}(h_See Documentation/admin-guide/kernel-parameters.rst and Documentation/trace/boottime-trace.rst.h]h_See Documentation/admin-guide/kernel-parameters.rst and Documentation/trace/boottime-trace.rst.}(hjpXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhjWhhubeh}(h]jah ]h"]tracepoint_printkah$]h&]uh1hhhhhhhhMHubh)}(hhh](h)}(hunaligned-traph]hunaligned-trap}(hjXhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjXhhhhhM\ubh)}(hXOn architectures where unaligned accesses cause traps, and where this feature is supported (``CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW``; currently, ``arc``, ``parisc`` and ``loongarch``), controls whether unaligned traps are caught and emulated (instead of failing).h](h\On architectures where unaligned accesses cause traps, and where this feature is supported (}(hjXhhhNhNubjH)}(h$``CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW``h]h CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjXubh ; currently, }(hjXhhhNhNubjH)}(h``arc``h]harc}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjXubh, }(hjXhhhNhNubjH)}(h ``parisc``h]hparisc}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjXubh and }(hjXhhhNhNubjH)}(h ``loongarch``h]h loongarch}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjXubhQ), controls whether unaligned traps are caught and emulated (instead of failing).}(hjXhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM^hjXhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjXubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK8uh1jhjXubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhj Yubah}(h]h ]h"]h$]h&]uh1jhj Yubj)}(hhh]h)}(h"Do not emulate unaligned accesses.h]h"Do not emulate unaligned accesses.}(hj%YhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhj"Yubah}(h]h ]h"]h$]h&]uh1jhj Yubeh}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjEYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjBYubah}(h]h ]h"]h$]h&]uh1jhj?Yubj)}(hhh]h)}(h8Emulate unaligned accesses. This is the default setting.h]h8Emulate unaligned accesses. This is the default setting.}(hj[YhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjXYubah}(h]h ]h"]h$]h&]uh1jhj?Yubeh}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]colsKuh1jhjXubah}(h]h ]h"]h$]h&]uh1j{hjXhhhhhNubh)}(h&See also `ignore-unaligned-usertrap`_.h](h See also }(hjYhhhNhNubh)}(h`ignore-unaligned-usertrap`_h]hignore-unaligned-usertrap}(hjYhhhNhNubah}(h]h ]h"]h$]h&]nameignore-unaligned-usertrapjjuh1hhjYjKubh.}(hjYhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhhjXhhubeh}(h]jah ]h"]unaligned-trapah$]h&]uh1hhhhhhhhM\j)Kubh)}(hhh](h)}(hunknown_nmi_panich]hunknown_nmi_panic}(hjYhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjYhhhhhMlubh)}(hThe value in this file affects behavior of handling NMI. When the value is non-zero, unknown NMI is trapped and then panic occurs. At that time, kernel debugging information is displayed on console.h]hThe value in this file affects behavior of handling NMI. When the value is non-zero, unknown NMI is trapped and then panic occurs. At that time, kernel debugging information is displayed on console.}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjYhhubh)}(h}NMI switch that most IA32 servers have fires unknown NMI up, for example. If a system hangs up, try pressing the NMI switch.h]h}NMI switch that most IA32 servers have fires unknown NMI up, for example. If a system hangs up, try pressing the NMI switch.}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjYhhubeh}(h]jah ]h"]unknown_nmi_panicah$]h&]uh1hhhhhhhhMlubh)}(hhh](h)}(hunprivileged_bpf_disabledh]hunprivileged_bpf_disabled}(hjYhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjYhhhhhMwubh)}(hWriting 1 to this entry will disable unprivileged calls to ``bpf()``; once disabled, calling ``bpf()`` without ``CAP_SYS_ADMIN`` or ``CAP_BPF`` will return ``-EPERM``. Once set to 1, this can't be cleared from the running kernel anymore.h](h;Writing 1 to this entry will disable unprivileged calls to }(hjYhhhNhNubjH)}(h ``bpf()``h]hbpf()}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjYubh; once disabled, calling }(hjYhhhNhNubjH)}(h ``bpf()``h]hbpf()}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjYubh without }(hjYhhhNhNubjH)}(h``CAP_SYS_ADMIN``h]h CAP_SYS_ADMIN}(hj"ZhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjYubh or }(hjYhhhNhNubjH)}(h ``CAP_BPF``h]hCAP_BPF}(hj4ZhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjYubh will return }(hjYhhhNhNubjH)}(h ``-EPERM``h]h-EPERM}(hjFZhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjYubhI. Once set to 1, this can’t be cleared from the running kernel anymore.}(hjYhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMyhjYhhubh)}(hWriting 2 to this entry will also disable unprivileged calls to ``bpf()``, however, an admin can still change this setting later on, if needed, by writing 0 or 1 to this entry.h](h@Writing 2 to this entry will also disable unprivileged calls to }(hj^ZhhhNhNubjH)}(h ``bpf()``h]hbpf()}(hjfZhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj^Zubhg, however, an admin can still change this setting later on, if needed, by writing 0 or 1 to this entry.}(hj^ZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM~hjYhhubh)}(hnIf ``BPF_UNPRIV_DEFAULT_OFF`` is enabled in the kernel config, then this entry will default to 2 instead of 0.h](hIf }(hj~ZhhhNhNubjH)}(h``BPF_UNPRIV_DEFAULT_OFF``h]hBPF_UNPRIV_DEFAULT_OFF}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj~ZubhQ is enabled in the kernel config, then this entry will default to 2 instead of 0.}(hj~ZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjYhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjZubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK=uh1jhjZubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(h+Unprivileged calls to ``bpf()`` are enabledh](hUnprivileged calls to }(hjZhhhNhNubjH)}(h ``bpf()``h]hbpf()}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjZubh are enabled}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjZubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj [hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[ubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(h=Unprivileged calls to ``bpf()`` are disabled without recoveryh](hUnprivileged calls to }(hj[hhhNhNubjH)}(h ``bpf()``h]hbpf()}(hj'[hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj[ubh are disabled without recovery}(hj[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj[ubah}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hjQ[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjN[ubah}(h]h ]h"]h$]h&]uh1jhjK[ubj)}(hhh]h)}(h,Unprivileged calls to ``bpf()`` are disabledh](hUnprivileged calls to }(hjg[hhhNhNubjH)}(h ``bpf()``h]hbpf()}(hjo[hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhjg[ubh are disabled}(hjg[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjd[ubah}(h]h ]h"]h$]h&]uh1jhjK[ubeh}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]colsKuh1jhjZubah}(h]h ]h"]h$]h&]uh1j{hjYhhhhhNubeh}(h]jah ]h"]unprivileged_bpf_disabledah$]h&]uh1hhhhhhhhMwubh)}(hhh](h)}(h warn_limith]h warn_limit}(hj[hhhNhNubah}(h]h ]h"]h$]h&]jj8uh1hhj[hhhhhMubh)}(hNumber of kernel warnings after which the kernel should panic when ``panic_on_warn`` is not set. Setting this to 0 disables checking the warning count. Setting this to 1 has the same effect as setting ``panic_on_warn=1``. The default value is 0.h](hCNumber of kernel warnings after which the kernel should panic when }(hj[hhhNhNubjH)}(h``panic_on_warn``h]h panic_on_warn}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj[ubhu is not set. Setting this to 0 disables checking the warning count. Setting this to 1 has the same effect as setting }(hj[hhhNhNubjH)}(h``panic_on_warn=1``h]hpanic_on_warn=1}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj[ubh. The default value is 0.}(hj[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj[hhubeh}(h]j>ah ]h"] warn_limitah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hwatchdogh]hwatchdog}(hj[hhhNhNubah}(h]h ]h"]h$]h&]jjZuh1hhj[hhhhhMubh)}(hThis parameter can be used to disable or enable the soft lockup detector *and* the NMI watchdog (i.e. the hard lockup detector) at the same time.h](hIThis parameter can be used to disable or enable the soft lockup detector }(hj\hhhNhNubjj)}(h*and*h]hand}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jihj\ubhC the NMI watchdog (i.e. the hard lockup detector) at the same time.}(hj\hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj[hhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj+\ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj+\ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h0}(hjK\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjH\ubah}(h]h ]h"]h$]h&]uh1jhjE\ubj)}(hhh]h)}(hDisable both lockup detectors.h]hDisable both lockup detectors.}(hja\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj^\ubah}(h]h ]h"]h$]h&]uh1jhjE\ubeh}(h]h ]h"]h$]h&]uh1jhjB\ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~\ubah}(h]h ]h"]h$]h&]uh1jhj{\ubj)}(hhh]h)}(hEnable both lockup detectors.h]hEnable both lockup detectors.}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\ubah}(h]h ]h"]h$]h&]uh1jhj{\ubeh}(h]h ]h"]h$]h&]uh1jhjB\ubeh}(h]h ]h"]h$]h&]uh1jhj+\ubeh}(h]h ]h"]h$]h&]colsKuh1jhj(\ubah}(h]h ]h"]h$]h&]uh1j{hj[hhhhhNubh)}(hThe soft lockup detector and the NMI watchdog can also be disabled or enabled individually, using the ``soft_watchdog`` and ``nmi_watchdog`` parameters. If the ``watchdog`` parameter is read, for example by executing::h](hfThe soft lockup detector and the NMI watchdog can also be disabled or enabled individually, using the }(hj\hhhNhNubjH)}(h``soft_watchdog``h]h soft_watchdog}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj\ubh and }(hj\hhhNhNubjH)}(h``nmi_watchdog``h]h nmi_watchdog}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj\ubh parameters. If the }(hj\hhhNhNubjH)}(h ``watchdog``h]hwatchdog}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj\ubh- parameter is read, for example by executing:}(hj\hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj[hhubj)}(hcat /proc/sys/kernel/watchdogh]hcat /proc/sys/kernel/watchdog}hj]sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj[hhubh)}(hcthe output of this command (0 or 1) shows the logical OR of ``soft_watchdog`` and ``nmi_watchdog``.h](h /proc/sys/kernel/watchdog_cpumaskh]h.echo 0,2-4 > /proc/sys/kernel/watchdog_cpumask}hj]sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhjO]hhubeh}(h]jah ]h"]watchdog_cpumaskah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hwatchdog_threshh]hwatchdog_thresh}(hj]hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj]hhhhhMubh)}(hThis value can be used to control the frequency of hrtimer and NMI events and the soft and hard lockup thresholds. The default threshold is 10 seconds.h]hThis value can be used to control the frequency of hrtimer and NMI events and the soft and hard lockup thresholds. The default threshold is 10 seconds.}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj]hhubh)}(h}The softlockup threshold is (``2 * watchdog_thresh``). Setting this tunable to zero will disable lockup detection altogether.h](hThe softlockup threshold is (}(hj]hhhNhNubjH)}(h``2 * watchdog_thresh``h]h2 * watchdog_thresh}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jGhj]ubhI). Setting this tunable to zero will disable lockup detection altogether.}(hj]hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj]hhubeh}(h]jah ]h"]watchdog_threshah$]h&]uh1hhhhhhhhMubeh}(h]!documentation-for-proc-sys-kernelah ]h"]#documentation for /proc/sys/kernel/ah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjE^error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehʌ _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}(msgmni]ja ctrl-alt-del]ja core_pattern](jjehung_task_timeout_secs]j#aunaligned-trap]j&amodules_disabled]j|(admesg_restrict]j9*akexec_load_disabled]ji+aprintk_ratelimit](jAjAeignore-unaligned-usertrap]jYaurefids}(j]jaj]j+aunameids}(j ^j^jjjGjj`jjjjj*jbjLjjnjjjjj.jjjj'jj_j:jj\j5j~jjjWjjjjjjj(j jJjW!jlj!jj!jj"jj"jjD#jjj#j8j#jZj$j|j$jj%jj&jj'jj'j&j(jHj(jjj)jj)jj*jj*jjM+jj+j6jT,jjS,jXj-jzjP-jjJ.jj.jj/jj 0j$jL0jFj0jhj1jj41jj1jjy2jjO3j j#4j4 jW4jV j5jx jU7j j,9j j9j jF:j j;j" j<jD jW=jf j=j j>j j>j j>j j?j j>?j2 j@jT j(Ajv jnAj jAj j Cj j9Cj j^Dj jEjB jEjd jEj jFj j@Fj jFj jFj jzGj0 jGjR jGjt j~Hj jHj jHj jjIj jJjjOKj@jLjbjLjjMjjNjjOjjOj jVj.jxWjPjWjrjWjjXjjYjjYjj[jj[j>jL]j`j]jj^ju nametypes}(j ^jjGj`jjjbjjjj.jj'j_jj5jjWjjjj jW!j!j!j"j"jD#jj#j#j$j$j%j&j'j'j(j(j)j)j*j*jM+j+jT,jS,j-jP-jJ.j.j/j 0jL0j0j1j41j1jy2jO3j#4jW4j5jU7j,9j9jF:j;j<jW=j=j>j>j>j?j>?j@j(AjnAjAj Cj9Cj^DjEjEjEjFj@FjFjFjzGjGjGj~HjHjHjjIjJjOKjLjLjMjNjOjOjVjxWjWjWjXjYjYj[j[jL]j]j^uh}(j^hjjjjjjJjjcj*jjLjjnjejjjjjjjj1jj1jjj:j*j\jbj~jjj8jjjjZjjj(jjJjjlj jjZ!jj!jj!jj"jj#j8jG#jZjm#j|j#jj$jj$jj%jj&j&j'jHj'jjj(jj(jj)jj)jj*jj*j6jP+jj+jXj+jzjY,jj -jjS-jjM.jj.j$j/jFj 0jhjO0jj0jj1jj71jj1j j|2j4 jR3jV j&4jx jZ4j j5j jX7j j/9j j9j" jI:jD j;jf j<j jZ=j j=j j>j j>j j>j2 j?jT jK?jv j@j j+Aj jqAj jAj jCj jj[j`j[jjO]jj]jjjjjjj$jjFj=jhj_jjjjjjjjjj j4j+jVjMjxjojjjjjjjjj"jjDj;jfj]jjjjjjjjjjj2j)jTjKjvjmjjjjjjjjj jjBj9jdj[jj}jjjjjjjjj0j'jRjIjtjkjjjjjjjjjjj@j7jbjYjj{jjjjjjj j j. j% jP jG jr ji j j j j j j j j j j j> j5 j` jW j jy j j j j j j j j j, j# jN jE jp jg j j j j j j j j j j j< j3 j^ jU j jw j j j j j j j j j* j! jL jC jn je j j j j j j j j jjj:j1j\jSj~jujjjjjjjjj(jjJjAjljcjjjjjjjjjj j8j/jZjQj|jsjju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jS^KrsRparse_messages](hsystem_message)}(hhh]h)}(h/Duplicate implicit target name: "core_pattern".h]h3Duplicate implicit target name: “core_pattern”.}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ubah}(h]h ]h"]h$]h&]jalevelKtypeINFOsourcehʌlineKuh1j^hj1hhhhhKubj^)}(hhh]h)}(heUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h]hgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ubah}(h]h ]h"]h$]h&]levelKtypej^lineKsourcehuh1j^hjsubetransform_messages] transformerN include_log] decorationNhhub.