Zsphinx.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]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<}(hhhhhNhNubh)}(hshen@cn.fujitsu.comh]hshen@cn.fujitsu.com}(hhhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:shen@cn.fujitsu.comuh1hhhubh>}(hhhhhNhNubeh}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh transition)}(hN------------------------------------------------------------------------------h]h}(h]h ]h"]h$]h&]uh1jhhhKhhhhubh)}(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/}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj+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 }(hjMhhhNhNubhemphasis)}(h*can*h]hcan}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jUhjMubh{ be used to screw up your system, it is advisable to read both documentation and source before actually making adjustments.}(hjMhhhNhNubeh}(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 }(hjohhhNhNubj4)}(h``/proc/sys/kernel``h]h/proc/sys/kernel}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjoubh:}(hjohhhNhNubeh}(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&]uh1hhj#ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hbootloader_version (x86 only)}(hjKhhhNhNubah}(h]id7ah ]h"]h$]h&]refidbootloader-version-x86-onlyuh1hhjHubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hbpf_stats_enabled}(hjmhhhNhNubah}(h]id8ah ]h"]h$]h&]refidbpf-stats-enableduh1hhjjubah}(h]h ]h"]h$]h&]uh1hhjgubah}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]id13ah ]h"]h$]h&]refid core-sort-vmauh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h core_uses_pid}(hj9hhhNhNubah}(h]id14ah ]h"]h$]h&]refid core-uses-piduh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h ctrl-alt-del}(hj[hhhNhNubah}(h]id15ah ]h"]h$]h&]refid ctrl-alt-deluh1hhjXubah}(h]h ]h"]h$]h&]uh1hhjUubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hdmesg_restrict}(hj}hhhNhNubah}(h]id16ah ]h"]h$]h&]refiddmesg-restrictuh1hhjzubah}(h]h ]h"]h$]h&]uh1hhjwubah}(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-backtraceuh1hhj$ubah}(h]h ]h"]h$]h&]uh1hhj!ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhardlockup_panic}(hjIhhhNhNubah}(h]id22ah ]h"]h$]h&]refidhardlockup-panicuh1hhjFubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhotplug}(hjkhhhNhNubah}(h]id23ah ]h"]h$]h&]refidhotpluguh1hhjhubah}(h]h ]h"]h$]h&]uh1hhjeubah}(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_timeout_secs}(hjhhhNhNubah}(h]id28ah ]h"]h$]h&]refidhung-task-timeout-secsuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_check_interval_secs}(hj7hhhNhNubah}(h]id29ah ]h"]h$]h&]refidhung-task-check-interval-secsuh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_warnings}(hjYhhhNhNubah}(h]id30ah ]h"]h$]h&]refidhung-task-warningsuh1hhjVubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhyperv_record_panic_msg}(hj{hhhNhNubah}(h]id31ah ]h"]h$]h&]refidhyperv-record-panic-msguh1hhjxubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hignore-unaligned-usertrap}(hjhhhNhNubah}(h]id32ah ]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]id33ah ]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]id34ah ]h"]h$]h&]refidio-uring-groupuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkexec_load_disabled}(hjhhhNhNubah}(h]id35ah ]h"]h$]h&]refidkexec-load-disableduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkexec_load_limit_panic}(hj%hhhNhNubah}(h]id36ah ]h"]h$]h&]refidkexec-load-limit-panicuh1hhj"ubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkexec_load_limit_reboot}(hjGhhhNhNubah}(h]id37ah ]h"]h$]h&]refidkexec-load-limit-rebootuh1hhjDubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h kptr_restrict}(hjihhhNhNubah}(h]id38ah ]h"]h$]h&]refid kptr-restrictuh1hhjfubah}(h]h ]h"]h$]h&]uh1hhjcubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmodprobe}(hjhhhNhNubah}(h]id39ah ]h"]h$]h&]refidmodprobeuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmodules_disabled}(hjhhhNhNubah}(h]id40ah ]h"]h$]h&]refidmodules-disableduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmsgmax, msgmnb, and msgmni}(hjhhhNhNubah}(h]id41ah ]h"]h$]h&]refidmsgmax-msgmnb-and-msgmniuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h8msg_next_id, sem_next_id, and shm_next_id (System V IPC)}(hjhhhNhNubah}(h]id42ah ]h"]h$]h&]refid4msg-next-id-sem-next-id-and-shm-next-id-system-v-ipcuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h ngroups_max}(hjhhhNhNubah}(h]id43ah ]h"]h$]h&]refid ngroups-maxuh1hhjubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h nmi_watchdog}(hj5hhhNhNubah}(h]id44ah ]h"]h$]h&]refid nmi-watchdoguh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhj/ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hnmi_wd_lpm_factor (PPC only)}(hjWhhhNhNubah}(h]id45ah ]h"]h$]h&]refidnmi-wd-lpm-factor-ppc-onlyuh1hhjTubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hnuma_balancing}(hjyhhhNhNubah}(h]id46ah ]h"]h$]h&]refidnuma-balancinguh1hhjvubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h&numa_balancing_promote_rate_limit_MBps}(hjhhhNhNubah}(h]id47ah ]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}(hjhhhNhNubah}(h]id48ah ]h"]h$]h&]refidoops-all-cpu-backtraceuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h oops_limit}(hjhhhNhNubah}(h]id49ah ]h"]h$]h&]refid oops-limituh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hosrelease, ostype & version}(hjhhhNhNubah}(h]id50ah ]h"]h$]h&]refidosrelease-ostype-versionuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hoverflowgid & overflowuid}(hj#hhhNhNubah}(h]id51ah ]h"]h$]h&]refidoverflowgid-overflowuiduh1hhj ubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic}(hjEhhhNhNubah}(h]id52ah ]h"]h$]h&]refidpanicuh1hhjBubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_io_nmi}(hjghhhNhNubah}(h]id53ah ]h"]h$]h&]refidpanic-on-io-nmiuh1hhjdubah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h panic_on_oops}(hjhhhNhNubah}(h]id54ah ]h"]h$]h&]refid panic-on-oopsuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_stackoverflow}(hjhhhNhNubah}(h]id55ah ]h"]h$]h&]refidpanic-on-stackoverflowuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_unrecovered_nmi}(hjhhhNhNubah}(h]id56ah ]h"]h$]h&]refidpanic-on-unrecovered-nmiuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h panic_on_warn}(hjhhhNhNubah}(h]id57ah ]h"]h$]h&]refid panic-on-warnuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h panic_print}(hj hhhNhNubah}(h]id58ah ]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_on_rcu_stall}(hj3 hhhNhNubah}(h]id59ah ]h"]h$]h&]refidpanic-on-rcu-stalluh1hhj0 ubah}(h]h ]h"]h$]h&]uh1hhj- ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmax_rcu_stall_to_panic}(hjU hhhNhNubah}(h]id60ah ]h"]h$]h&]refidmax-rcu-stall-to-panicuh1hhjR ubah}(h]h ]h"]h$]h&]uh1hhjO ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hperf_cpu_time_max_percent}(hjw hhhNhNubah}(h]id61ah ]h"]h$]h&]refidperf-cpu-time-max-percentuh1hhjt ubah}(h]h ]h"]h$]h&]uh1hhjq ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hperf_event_paranoid}(hj hhhNhNubah}(h]id62ah ]h"]h$]h&]refidperf-event-paranoiduh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hperf_event_max_stack}(hj hhhNhNubah}(h]id63ah ]h"]h$]h&]refidperf-event-max-stackuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hperf_event_mlock_kb}(hj hhhNhNubah}(h]id64ah ]h"]h$]h&]refidperf-event-mlock-kbuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h!perf_event_max_contexts_per_stack}(hj hhhNhNubah}(h]id65ah ]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]id66ah ]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]harm64}(hjC hhhNhNubah}(h]id67ah ]h"]h$]h&]refidarm64uh1hhj@ ubah}(h]h ]h"]h$]h&]uh1hhj= ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hriscv}(hje hhhNhNubah}(h]id68ah ]h"]h$]h&]refidriscvuh1hhjb ubah}(h]h ]h"]h$]h&]uh1hhj_ ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpid_max}(hj hhhNhNubah}(h]id69ah ]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]id70ah ]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]id71ah ]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}(hj hhhNhNubah}(h]id72ah ]h"]h$]h&]refidprintkuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h printk_delay}(hj hhhNhNubah}(h]id73ah ]h"]h$]h&]refid printk-delayuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hprintk_ratelimit}(hj1 hhhNhNubah}(h]id74ah ]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}(hjS hhhNhNubah}(h]id75ah ]h"]h$]h&]refidprintk-ratelimit-burstuh1hhjP ubah}(h]h ]h"]h$]h&]uh1hhjM ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hprintk_devkmsg}(hju hhhNhNubah}(h]id76ah ]h"]h$]h&]refidprintk-devkmsguh1hhjr ubah}(h]h ]h"]h$]h&]uh1hhjo ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpty}(hj hhhNhNubah}(h]id77ah ]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]id78ah ]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}(hj hhhNhNubah}(h]id79ah ]h"]h$]h&]refidrandomize-va-spaceuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h real-root-dev}(hj hhhNhNubah}(h]id80ah ]h"]h$]h&]refid real-root-devuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hreboot-cmd (SPARC only)}(hj hhhNhNubah}(h]id81ah ]h"]h$]h&]refidreboot-cmd-sparc-onlyuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsched_energy_aware}(hjA hhhNhNubah}(h]id82ah ]h"]h$]h&]refidsched-energy-awareuh1hhj> ubah}(h]h ]h"]h$]h&]uh1hhj; ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htask_delayacct}(hjc hhhNhNubah}(h]id83ah ]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]id84ah ]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]id85ah ]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]id86ah ]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]id87ah ]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}(hj hhhNhNubah}(h]id88ah ]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}(hj/ hhhNhNubah}(h]id89ah ]h"]h$]h&]refid sg-big-buffuh1hhj, ubah}(h]h ]h"]h$]h&]uh1hhj) ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshmall}(hjQ hhhNhNubah}(h]id90ah ]h"]h$]h&]refidshmalluh1hhjN ubah}(h]h ]h"]h$]h&]uh1hhjK ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshmmax}(hjs hhhNhNubah}(h]id91ah ]h"]h$]h&]refidshmmaxuh1hhjp ubah}(h]h ]h"]h$]h&]uh1hhjm ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshmmni}(hj hhhNhNubah}(h]id92ah ]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]id93ah ]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}(hj hhhNhNubah}(h]id94ah ]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}(hj hhhNhNubah}(h]id95ah ]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}(hjhhhNhNubah}(h]id96ah ]h"]h$]h&]refidsoftlockup-panicuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h soft_watchdog}(hj?hhhNhNubah}(h]id97ah ]h"]h$]h&]refid soft-watchdoguh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsplit_lock_mitigate (x86 only)}(hjahhhNhNubah}(h]id98ah ]h"]h$]h&]refidsplit-lock-mitigate-x86-onlyuh1hhj^ubah}(h]h ]h"]h$]h&]uh1hhj[ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h stack_erasing}(hjhhhNhNubah}(h]id99ah ]h"]h$]h&]refid stack-erasinguh1hhjubah}(h]h ]h"]h$]h&]uh1hhj}ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hstop-a (SPARC only)}(hjhhhNhNubah}(h]id100ah ]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]id101ah ]h"]h$]h&]refidsysrquh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htainted}(hjhhhNhNubah}(h]id102ah ]h"]h$]h&]refidtainteduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h threads-max}(hj hhhNhNubah}(h]id103ah ]h"]h$]h&]refid threads-maxuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htimer_migration}(hj-hhhNhNubah}(h]id104ah ]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}(hjOhhhNhNubah}(h]id105ah ]h"]h$]h&]refidtraceoff-on-warninguh1hhjLubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htracepoint_printk}(hjqhhhNhNubah}(h]id106ah ]h"]h$]h&]refidtracepoint-printkuh1hhjnubah}(h]h ]h"]h$]h&]uh1hhjkubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hunaligned-trap}(hjhhhNhNubah}(h]id107ah ]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]id108ah ]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}(hjhhhNhNubah}(h]id109ah ]h"]h$]h&]refidunprivileged-bpf-disableduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h warn_limit}(hjhhhNhNubah}(h]id110ah ]h"]h$]h&]refid warn-limituh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hwatchdog}(hjhhhNhNubah}(h]id111ah ]h"]h$]h&]refidwatchdoguh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hwatchdog_cpumask}(hj=hhhNhNubah}(h]id112ah ]h"]h$]h&]refidwatchdog-cpumaskuh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hwatchdog_thresh}(hj_hhhNhNubah}(h]id113ah ]h"]h$]h&]refidwatchdog-threshuh1hhj\ubah}(h]h ]h"]h$]h&]uh1hhjYubah}(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 }(hjhhhNhNubj4)}(h ``lowwater``h]hlowwater}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh2 % accounting suspends. If free space gets above }(hjhhhNhNubj4)}(h ``highwater``h]h highwater}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh % accounting resumes. }(hjhhhNhNubj4)}(h ``frequency``h]h frequency}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubhZ 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}hjsbah}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK2hjhhubeh}(h]jah ]h"]acctah$]h&]uh1hhhhhhhhK!ubh)}(hhh](h)}(hacpi_video_flagsh]hacpi_video_flags}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhK8ubh)}(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%hhhNhNubj4)}(h``acpi_sleep``h]h acpi_sleep}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj%ubh5 kernel parameter, by combining the following values:}(hj%hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK:hjhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjLubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjLubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h1h]h1}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjqubah}(h]h ]h"]h$]h&]uh1johjlubjp)}(hhh]h)}(hs3_biosh]hs3_bios}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjubah}(h]h ]h"]h$]h&]uh1johjlubeh}(h]h ]h"]h$]h&]uh1jjhjgubjk)}(hhh](jp)}(hhh]h)}(h2h]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(hs3_modeh]hs3_mode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjgubjk)}(hhh](jp)}(hhh]h)}(h4h]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(hs3_beeph]hs3_beep}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjgubeh}(h]h ]h"]h$]h&]uh1jehjLubeh}(h]h ]h"]h$]h&]colsKuh1jJhjGubah}(h]h ]h"]h$]h&]uh1jEhjhhhhhNubeh}(h]jah ]h"]acpi_video_flagsah$]h&]uh1hhhhhhhhK8ubh)}(hhh](h)}(harchh]harch}(hj0hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj-hhhhhKEubh)}(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 }(hj>hhhNhNubj4)}(h ``uname -m``h]huname -m}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj>ubh (e.g. }(hj>hhhNhNubj4)}(h ``x86_64``h]hx86_64}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj>ubh or }(hj>hhhNhNubj4)}(h ``aarch64``h]haarch64}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj>ubh).}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKGhj-hhubeh}(h]jah ]h"]archah$]h&]uh1hhhhhhhhKEubh)}(hhh](h)}(h auto_msgmnih]h auto_msgmni}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhKKubh)}(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]jah ]h"] auto_msgmniah$]h&]uh1hhhhhhhhKKubh)}(hhh](h)}(hbootloader_type (x86 only)h]hbootloader_type (x86 only)}(hjhhhNhNubah}(h]h ]h"]h$]h&]jj2uh1hhjhhhhhKWubh)}(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 }(hjhhhNhNubj4)}(h``type_of_loader``h]htype_of_loader}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh 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.}(hjhhhNhNubeh}(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 }(hjhhhNhNubj4)}(h``type_of_loader``h]htype_of_loader}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh and }(hjhhhNhNubj4)}(h``ext_loader_type``h]hext_loader_type}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubhF fields in Documentation/arch/x86/boot.rst for additional information.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKahjhhubeh}(h]j8ah ]h"]bootloader_type (x86 only)ah$]h&]uh1hhhhhhhhKWubh)}(hhh](h)}(hbootloader_version (x86 only)h]hbootloader_version (x86 only)}(hj2hhhNhNubah}(h]h ]h"]h$]h&]jjTuh1hhj/hhhhhKfubh)}(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.}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhj/hhubh)}(hwSee the ``type_of_loader`` and ``ext_loader_ver`` fields in Documentation/arch/x86/boot.rst for additional information.h](hSee the }(hjNhhhNhNubj4)}(h``type_of_loader``h]htype_of_loader}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjNubh and }(hjNhhhNhNubj4)}(h``ext_loader_ver``h]hext_loader_ver}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjNubhF fields in Documentation/arch/x86/boot.rst for additional information.}(hjNhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKkhj/hhubeh}(h]jZah ]h"]bootloader_version (x86 only)ah$]h&]uh1hhhhhhhhKfubh)}(hhh](h)}(hbpf_stats_enabledh]hbpf_stats_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjvuh1hhjhhhhhKpubh)}(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 }(hjhhhNhNubj4)}(h ``bpftool``h]hbpftool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKrhjhhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jOhjubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(h0h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(h#Don't collect statistics (default).h]h%Don’t collect statistics (default).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1johj ubjp)}(hhh]h)}(hCollect statistics.h]hCollect statistics.}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhj%ubah}(h]h ]h"]h$]h&]uh1johj ubeh}(h]h ]h"]h$]h&]uh1jjhjubeh}(h]h ]h"]h$]h&]uh1jehjubeh}(h]h ]h"]h$]h&]colsKuh1jJhjubah}(h]h ]h"]h$]h&]uh1jEhjhhhhhNubeh}(h]j|ah ]h"]bpf_stats_enabledah$]h&]uh1hhhhhhhhKpubh)}(hhh](h)}(hcad_pidh]hcad_pid}(hj_hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj\hhhhhK~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 }(hjmhhhNhNubj4)}(h ``-ESRCH``h]h-ESRCH}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjmubh.}(hjmhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj\hhubh)}(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-deljjjuh1hhjjKubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj\hhubeh}(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 }(hjhhhNhNubj4)}(h``CAP_LAST_CAP``h]h CAP_LAST_CAP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh 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}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhKubh)}(hA``core_pattern`` is used to specify a core dumpfile pattern name.h](j4)}(h``core_pattern``h]h core_pattern}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ubh1 is used to specify a core dumpfile pattern name.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh](j)}(h2max length 127 characters; default value is "core"h]h)}(hj-h]h6max length 127 characters; default value is “core”}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(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](j4)}(h``core_pattern``h]h core_pattern}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjFubh is used as a pattern template for the output filename; certain string patterns (beginning with ‘%’) are substituted with their actual values.}(hjFhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjBubah}(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 }(hjlhhhNhNubj4)}(h``core_uses_pid``h]h core_uses_pid}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjlubh:}(hjlhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhubh 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 }(hjhhhNhNubj4)}(h``core_pattern``h]h core_pattern}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh2 does not include “%p” (default does not) and }(hjhhhNhNubj4)}(h``core_uses_pid``h]h core_uses_pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh4 is set, then .PID will be appended to the filename.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjhubeh}(h]h ]h"]h$]h&]uh1jhj(hhhhhNubj)}(hX corename 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 % both are dropped ======== ========================================== h](h)}(hcorename format specifiersh]hcorename format specifiers}(hjhhhNhNubah}(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 % both are dropped ======== ========================================== h]jF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKEuh1jOhjubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(h%h]h%}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(h'%' is droppedh]h‘%’ is dropped}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%%h]h%%}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj=ubah}(h]h ]h"]h$]h&]uh1johj:ubjp)}(hhh]h)}(houtput one '%'h]houtput one ‘%’}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjTubah}(h]h ]h"]h$]h&]uh1johj:ubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%ph]h%p}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjtubah}(h]h ]h"]h$]h&]uh1johjqubjp)}(hhh]h)}(hpidh]hpid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjqubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%Ph]h%P}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(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&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%ih]h%i}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(htidh]htid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%Ih]h%I}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(hglobal tid (init PID namespace)h]hglobal tid (init PID namespace)}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj0ubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%uh]h%u}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjPubah}(h]h ]h"]h$]h&]uh1johjMubjp)}(hhh]h)}(huid (in initial user namespace)h]huid (in initial user namespace)}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjgubah}(h]h ]h"]h$]h&]uh1johjMubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%gh]h%g}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(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&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%dh]h%d}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(hIdump mode, matches ``PR_SET_DUMPABLE`` and ``/proc/sys/fs/suid_dumpable``h](hdump mode, matches }(hjhhhNhNubj4)}(h``PR_SET_DUMPABLE``h]hPR_SET_DUMPABLE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh and }(hjhhhNhNubj4)}(h``/proc/sys/fs/suid_dumpable``h]h/proc/sys/fs/suid_dumpable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%sh]h%s}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(h signal numberh]h signal number}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj,ubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%th]h%t}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjLubah}(h]h ]h"]h$]h&]uh1johjIubjp)}(hhh]h)}(hUNIX time of dumph]hUNIX time of dump}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjcubah}(h]h ]h"]h$]h&]uh1johjIubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%hh]h%h}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(hhostnameh]hhostname}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%eh]h%e}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(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)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%fh]h%f}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(hexecutable filenameh]hexecutable filename}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%Eh]h%E}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1johj%ubjp)}(hhh]h)}(hexecutable pathh]hexecutable path}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj?ubah}(h]h ]h"]h$]h&]uh1johj%ubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%ch]h%c}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj_ubah}(h]h ]h"]h$]h&]uh1johj\ubjp)}(hhh]h)}(h7maximum size of core file by resource limit RLIMIT_COREh]h7maximum size of core file by resource limit RLIMIT_CORE}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjvubah}(h]h ]h"]h$]h&]uh1johj\ubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%Ch]h%C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(hCPU the task ran onh]hCPU the task ran on}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h%h]h%}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(hboth are droppedh]hboth are dropped}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubeh}(h]h ]h"]h$]h&]uh1jehjubeh}(h]h ]h"]h$]h&]colsKuh1jJhjubah}(h]h ]h"]h$]h&]uh1jEhjubah}(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.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj(hhhhhNubeh}(h]h ]h"]h$]h&]bullet*uh1jhhhKhjhhubeh}(h](jid1eh ]h"] core_patternah$] core_patternah&]uh1hhhhhhhhKjKexpect_referenced_by_name}jEjsexpect_referenced_by_id}jjsubh)}(hhh](h)}(hcore_pipe_limith]hcore_pipe_limit}(hjPhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjMhhhhhKubh)}(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 }(hj^hhhNhNubh)}(h`core_pattern`_h]h core_pattern}(hjfhhhNhNubah}(h]h ]h"]h$]h&]name core_patternjjuh1hhj^jKubhV is configured to pipe core files to a user space helper (when the first character of }(hj^hhhNhNubj4)}(h``core_pattern``h]h core_pattern}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj^ubh 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 }(hj^hhhNhNubj4)}(h ``/proc/pid``h]h /proc/pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj^ubhX 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 }(hj^hhhNhNubj4)}(h``/proc//``h]h/proc//}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj^ubh). This value defaults to 0.}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjMhhubeh}(h]jah ]h"]core_pipe_limitah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h core_sort_vmah]h core_sort_vma}(hjhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjhhhhhKubh)}(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 }(hjhhhNhNubj4)}(h``core_sort_vma``h]h core_sort_vma}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh 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.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]j&ah ]h"] core_sort_vmaah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h core_uses_pidh]h core_uses_pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjBuh1hhjhhhhhKubh)}(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 }(hjhhhNhNubj4)}(h``core_uses_pid``h]h core_uses_pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh2 to 1, the coredump filename becomes core.PID. If }(hjhhhNhNubh)}(h`core_pattern`_h]h core_pattern}(hj hhhNhNubah}(h]h ]h"]h$]h&]name core_patternjjuh1hhjjKubh2 does not include “%p” (default does not) and }(hjhhhNhNubj4)}(h``core_uses_pid``h]h core_uses_pid}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh4 is set, then .PID will be appended to the filename.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]jHah ]h"] core_uses_pidah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h ctrl-alt-delh]h ctrl-alt-del}(hjVhhhNhNubah}(h]h ]h"]h$]h&]jjduh1hhjShhhhhKubh)}(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 }(hjdhhhNhNubj4)}(h ``init(1)``h]hinit(1)}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjdubh 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.}(hjdhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjShhubhdefinition_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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjShhhhhNubeh}(h]jjah ]h"] ctrl-alt-delah$]h&]uh1hhhhhhhhKjKubh)}(hhh](h)}(hdmesg_restricth]hdmesg_restrict}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhKubh)}(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 }(hjhhhNhNubj4)}(h ``dmesg(8)``h]hdmesg(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh7 to view messages from the kernel’s log buffer. When }(hjhhhNhNubj4)}(h``dmesg_restrict``h]hdmesg_restrict}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh- is set to 0 there are no restrictions. When }(hjhhhNhNubj4)}(h``dmesg_restrict``h]hdmesg_restrict}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh is set to 1, users must have }(hjhhhNhNubj4)}(h``CAP_SYSLOG``h]h CAP_SYSLOG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh to use }(hjhhhNhNubj4)}(h ``dmesg(8)``h]hdmesg(8)}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hiThe kernel config option ``CONFIG_SECURITY_DMESG_RESTRICT`` sets the default value of ``dmesg_restrict``.h](hThe kernel config option }(hjDhhhNhNubj4)}(h"``CONFIG_SECURITY_DMESG_RESTRICT``h]hCONFIG_SECURITY_DMESG_RESTRICT}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjDubh sets the default value of }(hjDhhhNhNubj4)}(h``dmesg_restrict``h]hdmesg_restrict}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjDubh.}(hjDhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]jah ]h"]dmesg_restrictah$]h&]uh1hhhhhhhhKjKubh)}(hhh](h)}(hdomainname & hostnameh]hdomainname & hostname}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj}hhhhhM 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&]uh1hhhhM hj}hhubj)}(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}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj}hhubh)}(hhas the same effect as::h]hhas the same effect as:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj}hhubj)}(h-# hostname "darkstar" # domainname "mydomain"h]h-# hostname "darkstar" # domainname "mydomain"}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj}hhubh)}(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 }(hjhhhNhNubj4)}(h``hostname(1)``h]h hostname(1)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh man page.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj}hhubeh}(h]jah ]h"]domainname & hostnameah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(hfirmware_configh]hfirmware_config}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhM"ubh)}(h>See Documentation/driver-api/firmware/fallback-mechanisms.rst.h]h>See Documentation/driver-api/firmware/fallback-mechanisms.rst.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjhhubh)}(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:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjhhubj)}(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](j4)}(h``force_sysfs_fallback``h]hforce_sysfs_fallback}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj!ubh0, when set to 1, forces the use of the fallback;}(hj!hhhNhNubeh}(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](j4)}(h``ignore_sysfs_fallback``h]hignore_sysfs_fallback}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjGubh&, when set to 1, ignores any fallback.}(hjGhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM+hjCubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]j>j?uh1jhhhM)hjhhubeh}(h]jah ]h"]firmware_configah$]h&]uh1hhhhhhhhM"ubh)}(hhh](h)}(hftrace_dump_on_oopsh]hftrace_dump_on_oops}(hjyhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjvhhhhhM/ubh)}(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 }(hjhhhNhNubj4)}(h``ftrace_dump()``h]h ftrace_dump()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh 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&]uh1hhhhM1hjvhhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK.uh1jOhjubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(hDisabled (default).h]hDisabled (default).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(hDump buffers of all CPUs.h]hDump buffers of all CPUs.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h 2(orig_cpu)h]h 2(orig_cpu)}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hj3ubah}(h]h ]h"]h$]h&]uh1johj0ubjp)}(hhh]h)}(h3Dump the buffer of the CPU that triggered the oops.h]h3Dump the buffer of the CPU that triggered the oops.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hjJubah}(h]h ]h"]h$]h&]uh1johj0ubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h h]h }(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM;hjjubah}(h]h ]h"]h$]h&]uh1johjgubjp)}(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&]uh1johjgubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(h=2(orig_cpu)h]h=2(orig_cpu)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubeh}(h]h ]h"]h$]h&]uh1jehjubeh}(h]h ]h"]h$]h&]colsKuh1jJhjubah}(h]h ]h"]h$]h&]uh1jEhjvhhhhhNubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hjvhhubh)}(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:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhjvhhubj)}(h5echo "foo,bar" > /proc/sys/kernel/ftrace_dump_on_oopsh]h5echo "foo,bar" > /proc/sys/kernel/ftrace_dump_on_oops}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhMGhjvhhubh)}(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&]uh1hhhhMIhjvhhubj)}(h9echo "1,foo,bar=2" > /proc/sys/kernel/ftrace_dump_on_oopsh]h9echo "1,foo,bar=2" > /proc/sys/kernel/ftrace_dump_on_oops}hj sbah}(h]h ]h"]h$]h&]hhuh1jhhhMMhjvhhubeh}(h]jah ]h"]ftrace_dump_on_oopsah$]h&]uh1hhhhhhhhM/ubh)}(hhh](h)}(h$ftrace_enabled, stack_tracer_enabledh]h$ftrace_enabled, stack_tracer_enabled}(hj8hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj5hhhhhMPubh)}(h#See Documentation/trace/ftrace.rst.h]h#See Documentation/trace/ftrace.rst.}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhj5hhubeh}(h]jah ]h"]$ftrace_enabled, stack_tracer_enabledah$]h&]uh1hhhhhhhhMPubh)}(hhh](h)}(hhardlockup_all_cpu_backtraceh]hhardlockup_all_cpu_backtrace}(hj^hhhNhNubah}(h]h ]h"]h$]h&]jj0uh1hhj[hhhhhMVubh)}(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.}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhj[hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhj}ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jOhj}ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(h)Do nothing. This is the default behavior.h]h)Do nothing. This is the default behavior.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjubah}(h]h ]h"]h$]h&]uh1johjubjp)}(hhh]h)}(h,On detection capture more debug information.h]h,On detection capture more debug information.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1jjhjubeh}(h]h ]h"]h$]h&]uh1jehj}ubeh}(h]h ]h"]h$]h&]colsKuh1jJhjzubah}(h]h ]h"]h$]h&]uh1jEhj[hhhhhNubeh}(h]j6ah ]h"]hardlockup_all_cpu_backtraceah$]h&]uh1hhhhhhhhMVubh)}(hhh](h)}(hhardlockup_panich]hhardlockup_panic}(hj hhhNhNubah}(h]h ]h"]h$]h&]jjRuh1hhj hhhhhMdubh)}(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&]uh1hhhhMfhj hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhj? ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhj? ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hj_ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhj\ ubah}(h]h ]h"]h$]h&]uh1johjY ubjp)}(hhh]h)}(hDon't panic on hard lockup.h]hDon’t panic on hard lockup.}(hju hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjr ubah}(h]h ]h"]h$]h&]uh1johjY ubeh}(h]h ]h"]h$]h&]uh1jjhjV ubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj ubah}(h]h ]h"]h$]h&]uh1johj ubjp)}(hhh]h)}(hPanic on hard lockup.h]hPanic on hard lockup.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj ubah}(h]h ]h"]h$]h&]uh1johj ubeh}(h]h ]h"]h$]h&]uh1jjhjV ubeh}(h]h ]h"]h$]h&]uh1jehj? ubeh}(h]h ]h"]h$]h&]colsKuh1jJhj< ubah}(h]h ]h"]h$]h&]uh1jEhj 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.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhj hhubeh}(h]jXah ]h"]hardlockup_panicah$]h&]uh1hhhhhhhhMdubh)}(hhh](h)}(hhotplugh]hhotplug}(hj hhhNhNubah}(h]h ]h"]h$]h&]jjtuh1hhj hhhhhMsubh)}(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 }(hj hhhNhNubj4)}(h``CONFIG_UEVENT_HELPER_PATH``h]hCONFIG_UEVENT_HELPER_PATH}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ubh-, which in turn defaults to the empty string.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMuhj 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!hhhNhNubj4)}(h``CONFIG_UEVENT_HELPER``h]hCONFIG_UEVENT_HELPER}(hj&!hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj!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&]uh1hhhhMyhj hhubeh}(h]jzah ]h"]hotplugah$]h&]uh1hhhhhhhhMsubh)}(hhh](h)}(hhung_task_all_cpu_backtraceh]hhung_task_all_cpu_backtrace}(hjH!hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjE!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.}(hjV!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjE!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.}(hjd!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjE!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.}(hjr!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjE!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)}(hzControls the kernel's behavior when a hung task is detected. This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.h](hUControls the kernel’s behavior when a hung task is detected. This file shows up if }(hj!hhhNhNubj4)}(h``CONFIG_DETECT_HUNG_TASK``h]hCONFIG_DETECT_HUNG_TASK}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj!ubh is enabled.}(hj!hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj!hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhj!ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK1uh1jOhj!ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1johj!ubjp)}(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&]uh1johj!ubeh}(h]h ]h"]h$]h&]uh1jjhj!ubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1johj "ubjp)}(hhh]h)}(hPanic immediately.h]hPanic immediately.}(hj'"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$"ubah}(h]h ]h"]h$]h&]uh1johj "ubeh}(h]h ]h"]h$]h&]uh1jjhj!ubeh}(h]h ]h"]h$]h&]uh1jehj!ubeh}(h]h ]h"]h$]h&]colsKuh1jJhj!ubah}(h]h ]h"]h$]h&]uh1jEhj!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 }(hjl"hhhNhNubj4)}(h``CONFIG_DETECT_HUNG_TASK``h]hCONFIG_DETECT_HUNG_TASK}(hjt"hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjl"ubh is enabled.}(hjl"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)}(hZIndicates the total number of tasks that have been detected as hung since the system boot.h]hZIndicates the total number of tasks that have been detected as hung since the system boot.}(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"hhhNhNubj4)}(h``CONFIG_DETECT_HUNG_TASK``h]hCONFIG_DETECT_HUNG_TASK}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj"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_timeout_secsh]hhung_task_timeout_secs}(hj"hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj"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"hhhNhNubj4)}(h``CONFIG_DETECT_HUNG_TASK``h]hCONFIG_DETECT_HUNG_TASK}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj"ubh is enabled.}(hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj"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&]uh1hhhhMhj"hhubh)}(h'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-'hhubeh}(h]jah ]h"]io_uring_groupah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hkexec_load_disabledh]hkexec_load_disabled}(hjV'hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjS'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 }(hjd'hhhNhNubj4)}(h``kexec_load``h]h kexec_load}(hjl'hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjd'ubh and }(hjd'hhhNhNubj4)}(h``kexec_file_load``h]hkexec_file_load}(hj~'hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjd'ubh6 have been disabled. This value defaults to 0 (false: }(hjd'hhhNhNubj4)}(h``kexec_*load``h]h kexec_*load}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjd'ubh& enabled), but can be set to 1 (true: }(hjd'hhhNhNubj4)}(h``kexec_*load``h]h kexec_*load}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjd'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 }(hjd'hhhNhNubh)}(h`modules_disabled`_h]hmodules_disabled}(hj'hhhNhNubah}(h]h ]h"]h$]h&]namemodules_disabledjjuh1hhjd'jKubh sysctl.}(hjd'hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjS'hhubeh}(h]jah ]h"]kexec_load_disabledah$]h&]uh1hhhhhhhhMjKubh)}(hhh](h)}(hkexec_load_limit_panich]hkexec_load_limit_panic}(hj'hhhNhNubah}(h]h ]h"]h$]h&]jj.uh1hhj'hhhhhMubh)}(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'hhhNhNubj4)}(h``kexec_load``h]h kexec_load}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj'ubh and }(hj'hhhNhNubj4)}(h``kexec_file_load``h]hkexec_file_load}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj'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&]uh1hhhhMhj'hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhj(ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK6uh1jOhj(ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(h-1h]h-1}(hj;(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8(ubah}(h]h ]h"]h$]h&]uh1johj5(ubjp)}(hhh]h)}(h6Unlimited calls to kexec. This is the default setting.h]h6Unlimited calls to kexec. This is the default setting.}(hjR(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjO(ubah}(h]h ]h"]h$]h&]uh1johj5(ubeh}(h]h ]h"]h$]h&]uh1jjhj2(ubjk)}(hhh](jp)}(hhh]h)}(hNh]hN}(hjr(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjo(ubah}(h]h ]h"]h$]h&]uh1johjl(ubjp)}(hhh]h)}(hNumber of calls left.h]hNumber of calls left.}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1johjl(ubeh}(h]h ]h"]h$]h&]uh1jjhj2(ubeh}(h]h ]h"]h$]h&]uh1jehj(ubeh}(h]h ]h"]h$]h&]colsKuh1jJhj(ubah}(h]h ]h"]h$]h&]uh1jEhj'hhhhhNubeh}(h]j4ah ]h"]kexec_load_limit_panicah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hkexec_load_limit_rebooth]hkexec_load_limit_reboot}(hj(hhhNhNubah}(h]h ]h"]h$]h&]jjPuh1hhj(hhhhhM!ubh)}(hLSimilar functionality as ``kexec_load_limit_panic``, but for a normal image.h](hSimilar functionality as }(hj(hhhNhNubj4)}(h``kexec_load_limit_panic``h]hkexec_load_limit_panic}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj(ubh, but for a normal image.}(hj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM#hj(hhubeh}(h]jVah ]h"]kexec_load_limit_rebootah$]h&]uh1hhhhhhhhM!ubh)}(hhh](h)}(h kptr_restricth]h kptr_restrict}(hj(hhhNhNubah}(h]h ]h"]h$]h&]jjruh1hhj(hhhhhM'ubh)}(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)hhhNhNubj4)}(h ``/proc``h]h/proc}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj)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&)hhhNhNubj4)}(h``kptr_restrict``h]h kptr_restrict}(hj.)hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj&)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 }(hjF)hhhNhNubj4)}(h``kptr_restrict``h]h kptr_restrict}(hjN)hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjF)ubhr is set to 1, kernel pointers printed using the %pK format specifier will be replaced with 0s unless the user has }(hjF)hhhNhNubj4)}(h``CAP_SYSLOG``h]h CAP_SYSLOG}(hj`)hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjF)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 }(hjF)hhhNhNubh)}(h`dmesg_restrict`_h]hdmesg_restrict}(hjr)hhhNhNubah}(h]h ]h"]h$]h&]namedmesg_restrictjjuh1hhjF)jKubh# to protect against uses of %pK in }(hjF)hhhNhNubj4)}(h ``dmesg(8)``h]hdmesg(8)}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjF)ubhE if leaking kernel pointer values to unprivileged users is a concern.}(hjF)hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM0hj(hhubh)}(hxWhen ``kptr_restrict`` is set to 2, kernel pointers printed using %pK will be replaced with 0s regardless of privileges.h](hWhen }(hj)hhhNhNubj4)}(h``kptr_restrict``h]h kptr_restrict}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj)ubhb is set to 2, kernel pointers printed using %pK will be replaced with 0s regardless of privileges.}(hj)hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM?hj(hhubeh}(h]jxah ]h"] kptr_restrictah$]h&]uh1hhhhhhhhM'ubh)}(hhh](h)}(hmodprobeh]hmodprobe}(hj)hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj)hhhhhMDubh)}(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)hhhNhNubj4)}(h``CONFIG_MODPROBE_PATH``h]hCONFIG_MODPROBE_PATH}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj)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&]uh1hhhhMFhj)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&]uh1hhhhMNhj)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&]uh1hhhhMQhj)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&]hhuh1jhhhMShj)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&]uh1hhhhMYhj)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&]uh1hhhhM^hj)hhubeh}(h]jah ]h"]modprobeah$]h&]uh1hhhhhhhhMDubh)}(hhh](h)}(hmodules_disabledh]hmodules_disabled}(hjF*hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjC*hhhhhMdubh)}(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 }(hjT*hhhNhNubh)}(h`kexec_load_disabled`_h]hkexec_load_disabled}(hj\*hhhNhNubah}(h]h ]h"]h$]h&]namekexec_load_disabledjjuh1hhjT*jKubh toggle.}(hjT*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMfhjC*hhubj)}(h .. _msgmni:h]h}(h]h ]h"]h$]h&]jjuh1jhMmhjC*hhhhjKubeh}(h]jah ]h"]modules_disabledah$]h&]uh1hhhhhhhhMdjKubh)}(hhh](h)}(hmsgmax, msgmnb, and msgmnih]hmsgmax, msgmnb, and msgmni}(hj*hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj*hhhhhMpubh)}(hY``msgmax`` is the maximum size of an IPC message, in bytes. 8192 by default (``MSGMAX``).h](j4)}(h ``msgmax``h]hmsgmax}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj*ubhC is the maximum size of an IPC message, in bytes. 8192 by default (}(hj*hhhNhNubj4)}(h ``MSGMAX``h]hMSGMAX}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj*ubh).}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMrhj*hhubh)}(hX``msgmnb`` is the maximum size of an IPC queue, in bytes. 16384 by default (``MSGMNB``).h](j4)}(h ``msgmnb``h]hmsgmnb}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj*ubhB is the maximum size of an IPC queue, in bytes. 16384 by default (}(hj*hhhNhNubj4)}(h ``MSGMNB``h]hMSGMNB}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj*ubh).}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMuhj*hhubh)}(hN``msgmni`` is the maximum number of IPC queues. 32000 by default (``MSGMNI``).h](j4)}(h ``msgmni``h]hmsgmni}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj*ubh8 is the maximum number of IPC queues. 32000 by default (}(hj*hhhNhNubj4)}(h ``MSGMNI``h]hMSGMNI}(hj +hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj*ubh).}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMxhj*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"+hhhNhNubj4)}(h``RLIMIT_MSGQUEUE``h]hRLIMIT_MSGQUEUE}(hj*+hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj"+ubhD. This limit is respected hierarchically in the each user namespace.}(hj"+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM{hj*hhubeh}(h](jjeh ]h"](msgmax, msgmnb, and msgmnimsgmnieh$]h&]uh1hhhhhhhhMpjI}jG+jv*sjK}jjv*sjKubh)}(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)}(hjO+hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjL+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.}(hj]+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjL+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:}(hjk+hhhNhNubj4)}(h ``INT_MAX``h]hINT_MAX}(hjs+hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjk+ubh}.}(hjk+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjL+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&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhhhMhj+ubah}(h]h ]h"]h$]h&]uh1jhjL+hhhNhNubeh}(h]jah ]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 ,hhhNhNubj4)}(h ``setgroups``h]h setgroups}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ,ubh will accept. Exports }(hj ,hhhNhNubj4)}(h``NGROUPS_MAX``h]h NGROUPS_MAX}(hj',hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ,ubh from the kernel.}(hj ,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj+hhubeh}(h]j"ah ]h"] ngroups_maxah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h nmi_watchdogh]h nmi_watchdog}(hjI,hhhNhNubah}(h]h ]h"]h$]h&]jj>uh1hhjF,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.}(hjW,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjF,hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjh,ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jOhjh,ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1johj,ubjp)}(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&]uh1johj,ubeh}(h]h ]h"]h$]h&]uh1jjhj,ubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1johj,ubjp)}(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&]uh1johj,ubeh}(h]h ]h"]h$]h&]uh1jjhj,ubeh}(h]h ]h"]h$]h&]uh1jehjh,ubeh}(h]h ]h"]h$]h&]colsKuh1jJhje,ubah}(h]h ]h"]h$]h&]uh1jEhjF,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&]uh1hhhhMhjF,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&]uh1hhhhMhjF,hhubj)}(hnmi_watchdog=1h]hnmi_watchdog=1}hj-sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhjF,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).}(hj+-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjF,hhubeh}(h]jDah ]h"] nmi_watchdogah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hnmi_wd_lpm_factor (PPC only)h]hnmi_wd_lpm_factor (PPC only)}(hjC-hhhNhNubah}(h]h ]h"]h$]h&]jj`uh1hhj@-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 }(hjQ-hhhNhNubj4)}(h``nmi_watchdog``h]h nmi_watchdog}(hjY-hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjQ-ubh> is set to 1). This factor represents the percentage added to }(hjQ-hhhNhNubj4)}(h``watchdog_thresh``h]hwatchdog_thresh}(hjk-hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjQ-ubhb when calculating the NMI watchdog timeout during an LPM. The soft lockup timeout is not impacted.}(hjQ-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj@-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-hhhNhNubj4)}(h``watchdog_thresh``h]hwatchdog_thresh}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj-ubh equal to 10).}(hj-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj@-hhubeh}(h]jfah ]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-hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhj-ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jOhj-ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1johj-ubjp)}(hhh]h)}(hNUMA_BALANCING_DISABLEDh]hNUMA_BALANCING_DISABLED}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1johj-ubeh}(h]h ]h"]h$]h&]uh1jjhj-ubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hj".hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.ubah}(h]h ]h"]h$]h&]uh1johj.ubjp)}(hhh]h)}(hNUMA_BALANCING_NORMALh]hNUMA_BALANCING_NORMAL}(hj8.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5.ubah}(h]h ]h"]h$]h&]uh1johj.ubeh}(h]h ]h"]h$]h&]uh1jjhj-ubjk)}(hhh](jp)}(hhh]h)}(hjh]h2}(hjX.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjU.ubah}(h]h ]h"]h$]h&]uh1johjR.ubjp)}(hhh]h)}(hNUMA_BALANCING_MEMORY_TIERINGh]hNUMA_BALANCING_MEMORY_TIERING}(hjn.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjk.ubah}(h]h ]h"]h$]h&]uh1johjR.ubeh}(h]h ]h"]h$]h&]uh1jjhj-ubeh}(h]h ]h"]h$]h&]uh1jehj-ubeh}(h]h ]h"]h$]h&]colsKuh1jJhj-ubah}(h]h ]h"]h$]h&]uh1jEhj-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]jah ]h"]&numa_balancing_promote_rate_limit_mbpsah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hoops_all_cpu_backtraceh]hoops_all_cpu_backtrace}(hj/hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj/hhhhhMubh)}(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.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/hhubh)}(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/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/hhubh)}(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-/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/hhubeh}(h]jah ]h"]oops_all_cpu_backtraceah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h oops_limith]h oops_limit}(hjE/hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjB/hhhhhMubh)}(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 }(hjS/hhhNhNubj4)}(h``panic_on_oops``h]h panic_on_oops}(hj[/hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjS/ubhn is not set. Setting this to 0 disables checking the count. Setting this to 1 has the same effect as setting }(hjS/hhhNhNubj4)}(h``panic_on_oops=1``h]hpanic_on_oops=1}(hjm/hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjS/ubh. The default value is 10000.}(hjS/hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjB/hhubeh}(h]jah ]h"] oops_limitah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hosrelease, ostype & versionh]hosrelease, ostype & version}(hj/hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj/hhhhhMubj)}(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}hj/sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj/hhubh)}(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 }(hj/hhhNhNubj4)}(h ``osrelease``h]h osrelease}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj/ubh and }(hj/hhhNhNubj4)}(h ``ostype``h]hostype}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj/ubh should be clear enough. }(hj/hhhNhNubj4)}(h ``version``h]hversion}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj/ubh 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 :-)}(hj/hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hj/hhubeh}(h]jah ]h"]osrelease, ostype & versionah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hoverflowgid & overflowuidh]hoverflowgid & overflowuid}(hj/hhhNhNubah}(h]h ]h"]h$]h&]jj,uh1hhj/hhhhhMubh)}(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.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/hhubh)}(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.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/hhubeh}(h]j2ah ]h"]overflowgid & overflowuidah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hpanich]hpanic}(hj-0hhhNhNubah}(h]h ]h"]h$]h&]jjNuh1hhj*0hhhhhM!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:}(hj;0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hj*0hhubj)}(hhh](j)}(h&if zero, the kernel will loop forever;h]h)}(hjN0h]h&if zero, the kernel will loop forever;}(hjP0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjL0ubah}(h]h ]h"]h$]h&]uh1jhjI0hhhhhNubj)}(h0if negative, the kernel will reboot immediately;h]h)}(hje0h]h0if negative, the kernel will reboot immediately;}(hjg0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjc0ubah}(h]h ]h"]h$]h&]uh1jhjI0hhhhhNubj)}(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.}(hj~0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjz0ubah}(h]h ]h"]h$]h&]uh1jhjI0hhhhhNubeh}(h]h ]h"]h$]h&]j>j?uh1jhhhM&hj*0hhubh)}(hBWhen you use the software watchdog, the recommended setting is 60.h]hBWhen you use the software watchdog, the recommended setting is 60.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hj*0hhubeh}(h]jTah ]h"]panicah$]h&]uh1hhhhhhhhM!ubh)}(hhh](h)}(hpanic_on_io_nmih]hpanic_on_io_nmi}(hj0hhhNhNubah}(h]h ]h"]h$]h&]jjpuh1hhj0hhhhhM/ubh)}(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.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hj0hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhj0ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKBuh1jOhj0ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hj0ubah}(h]h ]h"]h$]h&]uh1johj0ubjp)}(hhh]h)}(h$Try to continue operation (default).h]h$Try to continue operation (default).}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hj1ubah}(h]h ]h"]h$]h&]uh1johj0ubeh}(h]h ]h"]h$]h&]uh1jjhj0ubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hj%1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hj"1ubah}(h]h ]h"]h$]h&]uh1johj1ubjp)}(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.}(hj;1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hj81ubah}(h]h ]h"]h$]h&]uh1johj1ubeh}(h]h ]h"]h$]h&]uh1jjhj0ubeh}(h]h ]h"]h$]h&]uh1jehj0ubeh}(h]h ]h"]h$]h&]colsKuh1jJhj0ubah}(h]h ]h"]h$]h&]uh1jEhj0hhhhhNubeh}(h]jvah ]h"]panic_on_io_nmiah$]h&]uh1hhhhhhhhM/ubh)}(hhh](h)}(h panic_on_oopsh]h panic_on_oops}(hjr1hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjo1hhhhhM?ubh)}(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.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhjo1hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhj1ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKCuh1jOhj1ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhj1ubah}(h]h ]h"]h$]h&]uh1johj1ubjp)}(hhh]h)}(hTry to continue operation.h]hTry to continue operation.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhj1ubah}(h]h ]h"]h$]h&]uh1johj1ubeh}(h]h ]h"]h$]h&]uh1jjhj1ubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhj1ubah}(h]h ]h"]h$]h&]uh1johj1ubjp)}(hhh]h)}(h]Panic immediately. If the `panic` sysctl is also non-zero then the machine will be rebooted.h](hPanic immediately. If the }(hj1hhhNhNubhtitle_reference)}(h`panic`h]hpanic}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj1ubh; sysctl is also non-zero then the machine will be rebooted.}(hj1hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMEhj1ubah}(h]h ]h"]h$]h&]uh1johj1ubeh}(h]h ]h"]h$]h&]uh1jjhj1ubeh}(h]h ]h"]h$]h&]uh1jehj1ubeh}(h]h ]h"]h$]h&]colsKuh1jJhj1ubah}(h]h ]h"]h$]h&]uh1jEhjo1hhhhhNubeh}(h]jah ]h"] panic_on_oopsah$]h&]uh1hhhhhhhhM?ubh)}(hhh](h)}(hpanic_on_stackoverflowh]hpanic_on_stackoverflow}(hjH2hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjE2hhhhhMKubh)}(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 }(hjV2hhhNhNubj4)}(h``CONFIG_DEBUG_STACKOVERFLOW``h]hCONFIG_DEBUG_STACKOVERFLOW}(hj^2hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjV2ubh is enabled.}(hjV2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMMhjE2hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjy2ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjy2ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhj2ubah}(h]h ]h"]h$]h&]uh1johj2ubjp)}(hhh]h)}(hTry to continue operation.h]hTry to continue operation.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhj2ubah}(h]h ]h"]h$]h&]uh1johj2ubeh}(h]h ]h"]h$]h&]uh1jjhj2ubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShj2ubah}(h]h ]h"]h$]h&]uh1johj2ubjp)}(hhh]h)}(hPanic immediately.h]hPanic immediately.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShj2ubah}(h]h ]h"]h$]h&]uh1johj2ubeh}(h]h ]h"]h$]h&]uh1jjhj2ubeh}(h]h ]h"]h$]h&]uh1jehjy2ubeh}(h]h ]h"]h$]h&]colsKuh1jJhjv2ubah}(h]h ]h"]h$]h&]uh1jEhjE2hhhhhNubeh}(h]jah ]h"]panic_on_stackoverflowah$]h&]uh1hhhhhhhhMKubh)}(hhh](h)}(hpanic_on_unrecovered_nmih]hpanic_on_unrecovered_nmi}(hj3hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj3hhhhhMXubh)}(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.}(hj*3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj3hhubh)}(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.}(hj83hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj3hhubeh}(h]jah ]h"]panic_on_unrecovered_nmiah$]h&]uh1hhhhhhhhMXubh)}(hhh](h)}(h panic_on_warnh]h panic_on_warn}(hjP3hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjM3hhhhhMeubh)}(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().}(hj^3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghjM3hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjo3ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK0uh1jOhjo3ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj3ubah}(h]h ]h"]h$]h&]uh1johj3ubjp)}(hhh]h)}(hOnly WARN(), default behaviour.h]hOnly WARN(), default behaviour.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj3ubah}(h]h ]h"]h$]h&]uh1johj3ubeh}(h]h ]h"]h$]h&]uh1jjhj3ubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj3ubah}(h]h ]h"]h$]h&]uh1johj3ubjp)}(hhh]h)}(h0Call panic() after printing out WARN() location.h]h0Call panic() after printing out WARN() location.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj3ubah}(h]h ]h"]h$]h&]uh1johj3ubeh}(h]h ]h"]h$]h&]uh1jjhj3ubeh}(h]h ]h"]h$]h&]uh1jehjo3ubeh}(h]h ]h"]h$]h&]colsKuh1jJhjl3ubah}(h]h ]h"]h$]h&]uh1jEhjM3hhhhhNubeh}(h]jah ]h"] panic_on_warnah$]h&]uh1hhhhhhhhMeubh)}(hhh](h)}(h panic_printh]h panic_print}(hj4hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj4hhhhhMqubh)}(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 4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshj4hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhj14ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jOhj14ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hbit 0h]hbit 0}(hjQ4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhjN4ubah}(h]h ]h"]h$]h&]uh1johjK4ubjp)}(hhh]h)}(hprint all tasks infoh]hprint all tasks info}(hjh4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhje4ubah}(h]h ]h"]h$]h&]uh1johjK4ubeh}(h]h ]h"]h$]h&]uh1jjhjH4ubjk)}(hhh](jp)}(hhh]h)}(hbit 1h]hbit 1}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj4ubah}(h]h ]h"]h$]h&]uh1johj4ubjp)}(hhh]h)}(hprint system memory infoh]hprint system memory info}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj4ubah}(h]h ]h"]h$]h&]uh1johj4ubeh}(h]h ]h"]h$]h&]uh1jjhjH4ubjk)}(hhh](jp)}(hhh]h)}(hbit 2h]hbit 2}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhj4ubah}(h]h ]h"]h$]h&]uh1johj4ubjp)}(hhh]h)}(hprint timer infoh]hprint timer info}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhj4ubah}(h]h ]h"]h$]h&]uh1johj4ubeh}(h]h ]h"]h$]h&]uh1jjhjH4ubjk)}(hhh](jp)}(hhh]h)}(hbit 3h]hbit 3}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhj4ubah}(h]h ]h"]h$]h&]uh1johj4ubjp)}(hhh]h)}(h,print locks info if ``CONFIG_LOCKDEP`` is onh](hprint locks info if }(hj 5hhhNhNubj4)}(h``CONFIG_LOCKDEP``h]hCONFIG_LOCKDEP}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj 5ubh is on}(hj 5hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMzhj 5ubah}(h]h ]h"]h$]h&]uh1johj4ubeh}(h]h ]h"]h$]h&]uh1jjhjH4ubjk)}(hhh](jp)}(hhh]h)}(hbit 4h]hbit 4}(hj?5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hj<5ubah}(h]h ]h"]h$]h&]uh1johj95ubjp)}(hhh]h)}(hprint ftrace bufferh]hprint ftrace buffer}(hjV5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjS5ubah}(h]h ]h"]h$]h&]uh1johj95ubeh}(h]h ]h"]h$]h&]uh1jjhjH4ubjk)}(hhh](jp)}(hhh]h)}(hbit 5h]hbit 5}(hjv5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjs5ubah}(h]h ]h"]h$]h&]uh1johjp5ubjp)}(hhh]h)}(h#print all printk messages in bufferh]h#print all printk messages in buffer}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hj5ubah}(h]h ]h"]h$]h&]uh1johjp5ubeh}(h]h ]h"]h$]h&]uh1jjhjH4ubjk)}(hhh](jp)}(hhh]h)}(hbit 6h]hbit 6}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hj5ubah}(h]h ]h"]h$]h&]uh1johj5ubjp)}(hhh]h)}(h3print all CPUs backtrace (if available in the arch)h]h3print all CPUs backtrace (if available in the arch)}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hj5ubah}(h]h ]h"]h$]h&]uh1johj5ubeh}(h]h ]h"]h$]h&]uh1jjhjH4ubjk)}(hhh](jp)}(hhh]h)}(hbit 7h]hbit 7}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hj5ubah}(h]h ]h"]h$]h&]uh1johj5ubjp)}(hhh]h)}(h3print only tasks in uninterruptible (blocked) stateh]h3print only tasks in uninterruptible (blocked) state}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hj5ubah}(h]h ]h"]h$]h&]uh1johj5ubeh}(h]h ]h"]h$]h&]uh1jjhjH4ubeh}(h]h ]h"]h$]h&]uh1jehj14ubeh}(h]h ]h"]h$]h&]colsKuh1jJhj.4ubah}(h]h ]h"]h$]h&]uh1jEhj4hhhhhNubh)}(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:}(hj(6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4hhubj)}(h%echo 3 > /proc/sys/kernel/panic_printh]h%echo 3 > /proc/sys/kernel/panic_print}hj66sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj4hhubeh}(h]j ah ]h"] panic_printah$]h&]uh1hhhhhhhhMqubh)}(hhh](h)}(hpanic_on_rcu_stallh]hpanic_on_rcu_stall}(hjN6hhhNhNubah}(h]h ]h"]h$]h&]jj< uh1hhjK6hhhhhMubh)}(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\6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjK6hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjm6ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK7hhhNhNubj4)}(h``panic_on_rcu_stall``h]hpanic_on_rcu_stall}(hjF7hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj>7ubh* is set to 0, this value is has no effect.}(hj>7hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj 7hhubeh}(h]jd ah ]h"]max_rcu_stall_to_panicah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hperf_cpu_time_max_percenth]hperf_cpu_time_max_percent}(hjh7hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhje7hhhhhMubh)}(hHints to the kernel how much CPU time it should be allowed to use to handle perf sampling events. If the perf subsystem is informed that its samples are exceeding this limit, it will drop its sampling frequency to attempt to reduce its CPU usage.h]hHints to the kernel how much CPU time it should be allowed to use to handle perf sampling events. If the perf subsystem is informed that its samples are exceeding this limit, it will drop its sampling frequency to attempt to reduce its CPU usage.}(hjv7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhje7hhubh)}(hSome perf sampling happens in NMIs. If these samples unexpectedly take too long to execute, the NMIs can become stacked up next to each other so much that nothing else is allowed to execute.h]hSome perf sampling happens in NMIs. If these samples unexpectedly take too long to execute, the NMIs can become stacked up next to each other so much that nothing else is allowed to execute.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhje7hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhj7ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK8uh1jOhj7ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1johj7ubjp)}(hhh]h)}(hgDisable the mechanism. Do not monitor or correct perf's sampling rate no matter how CPU time it takes.h]hiDisable the mechanism. Do not monitor or correct perf’s sampling rate no matter how CPU time it takes.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1johj7ubeh}(h]h ]h"]h$]h&]uh1jjhj7ubjk)}(hhh](jp)}(hhh]h)}(h1-100h]h1-100}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1johj7ubjp)}(hhh]h)}(hXQAttempt to throttle perf's sample rate to this percentage of CPU. Note: the kernel calculates an "expected" length of each sample event. 100 here means 100% of that expected length. Even if this is set to 100, you may still see sample throttling if this length is exceeded. Set to 0 if you truly do not care how much CPU is consumed.h]hXWAttempt to throttle perf’s sample rate to this percentage of CPU. Note: the kernel calculates an “expected” length of each sample event. 100 here means 100% of that expected length. Even if this is set to 100, you may still see sample throttling if this length is exceeded. Set to 0 if you truly do not care how much CPU is consumed.}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1johj7ubeh}(h]h ]h"]h$]h&]uh1jjhj7ubeh}(h]h ]h"]h$]h&]uh1jehj7ubeh}(h]h ]h"]h$]h&]colsKuh1jJhj7ubah}(h]h ]h"]h$]h&]uh1jEhje7hhhhhNubeh}(h]j ah ]h"]perf_cpu_time_max_percentah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hperf_event_paranoidh]hperf_event_paranoid}(hj98hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj68hhhhhMubh)}(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.}(hjG8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj68hhubh)}(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.}(hjU8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj68hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjf8ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKBuh1jOhjf8ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(h-1h]h-1}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1johj8ubjp)}(hhh](h)}(h.Allow use of (almost) all events by all users.h]h.Allow use of (almost) all events by all users.}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubh)}(hFIgnore mlock limit after perf_event_mlock_kb without ``CAP_IPC_LOCK``.h](h5Ignore mlock limit after perf_event_mlock_kb without }(hj8hhhNhNubj4)}(h``CAP_IPC_LOCK``h]h CAP_IPC_LOCK}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj8ubh.}(hj8hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj8ubeh}(h]h ]h"]h$]h&]uh1johj8ubeh}(h]h ]h"]h$]h&]uh1jjhj}8ubjk)}(hhh](jp)}(hhh]h)}(h>=0h]h>=0}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1johj8ubjp)}(hhh](h)}(hEDisallow ftrace function tracepoint by users without ``CAP_PERFMON``.h](h5Disallow ftrace function tracepoint by users without }(hj8hhhNhNubj4)}(h``CAP_PERFMON``h]h CAP_PERFMON}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj8ubh.}(hj8hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj8ubh)}(h@Disallow raw tracepoint access by users without ``CAP_PERFMON``.h](h0Disallow raw tracepoint access by users without }(hj9hhhNhNubj4)}(h``CAP_PERFMON``h]h CAP_PERFMON}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj9ubh.}(hj9hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj8ubeh}(h]h ]h"]h$]h&]uh1johj8ubeh}(h]h ]h"]h$]h&]uh1jjhj}8ubjk)}(hhh](jp)}(hhh]h)}(h>=1h]h>=1}(hjF9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjC9ubah}(h]h ]h"]h$]h&]uh1johj@9ubjp)}(hhh]h)}(h;Disallow CPU event access by users without ``CAP_PERFMON``.h](h+Disallow CPU event access by users without }(hj]9hhhNhNubj4)}(h``CAP_PERFMON``h]h CAP_PERFMON}(hje9hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj]9ubh.}(hj]9hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjZ9ubah}(h]h ]h"]h$]h&]uh1johj@9ubeh}(h]h ]h"]h$]h&]uh1jjhj}8ubjk)}(hhh](jp)}(hhh]h)}(h>=2h]h>=2}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1johj9ubjp)}(hhh]h)}(h;Disallow kernel profiling by users without ``CAP_PERFMON``.h](h+Disallow kernel profiling by users without }(hj9hhhNhNubj4)}(h``CAP_PERFMON``h]h CAP_PERFMON}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj9ubh.}(hj9hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1johj9ubeh}(h]h ]h"]h$]h&]uh1jjhj}8ubeh}(h]h ]h"]h$]h&]uh1jehjf8ubeh}(h]h ]h"]h$]h&]colsKuh1jJhjc8ubah}(h]h ]h"]h$]h&]uh1jEhj68hhhhhNubeh}(h]j ah ]h"]perf_event_paranoidah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hperf_event_max_stackh]hperf_event_max_stack}(hj9hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj9hhhhhMubh)}(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 (}(hj9hhhNhNubj4)}(h,``attr.sample_type & PERF_SAMPLE_CALLCHAIN``h]h(attr.sample_type & PERF_SAMPLE_CALLCHAIN}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj9ubh1) configured events, for instance, when using ‘}(hj9hhhNhNubj4)}(h``perf record -g``h]hperf record -g}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj9ubh ’ or ‘}(hj9hhhNhNubj4)}(h``perf trace --call-graph fp``h]hperf trace --call-graph fp}(hj):hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj9ubh’.}(hj9hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj9hhubh)}(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 }(hjA:hhhNhNubj4)}(h ``-EBUSY``h]h-EBUSY}(hjI:hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjA:ubh.}(hjA:hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj9hhubh)}(hThe default value is 127.h]hThe default value is 127.}(hja:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9hhubeh}(h]j ah ]h"]perf_event_max_stackah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hperf_event_mlock_kbh]hperf_event_mlock_kb}(hjy:hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjv:hhhhhMubh)}(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.}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjv:hhubh)}(h!The default value is 512 + 1 pageh]h!The default value is 512 + 1 page}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjv:hhubeh}(h]j ah ]h"]perf_event_mlock_kbah$]h&]uh1hhhhhhhhMubh)}(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](h==============================================================h]h}(h]h ]h"]h$]h&]uh1jhhhM)hhhhubh)}(hhh](h)}(hprintkh]hprintk}(hj}<hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjz<hhhhhM,ubh)}(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<hhhNhNubj4)}(h``console_loglevel``h]hconsole_loglevel}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj<ubh, }(hj<hhhNhNubj4)}(h``default_message_loglevel``h]hdefault_message_loglevel}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj<ubh, }(hj<hhhNhNubj4)}(h``minimum_console_loglevel``h]hminimum_console_loglevel}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj<ubh and }(hj<hhhNhNubj4)}(h``default_console_loglevel``h]hdefault_console_loglevel}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj<ubh respectively.}(hj<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM.hjz<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<hhhNhNubj4)}(h``man 2 syslog``h]h man 2 syslog}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj<ubh-’ for more info on the different loglevels.}(hj<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM2hjz<hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhj=ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jOhj=ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hconsole_loglevelh]hconsole_loglevel}(hj$=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hj!=ubah}(h]h ]h"]h$]h&]uh1johj=ubjp)}(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&]uh1hhhhM7hj8=ubah}(h]h ]h"]h$]h&]uh1johj=ubeh}(h]h ]h"]h$]h&]uh1jjhj=ubjk)}(hhh](jp)}(hhh]h)}(hdefault_message_loglevelh]hdefault_message_loglevel}(hj[=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hjX=ubah}(h]h ]h"]h$]h&]uh1johjU=ubjp)}(hhh]h)}(hHmessages without an explicit priority will be printed with this priorityh]hHmessages without an explicit priority will be printed with this priority}(hjr=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hjo=ubah}(h]h ]h"]h$]h&]uh1johjU=ubeh}(h]h ]h"]h$]h&]uh1jjhj=ubjk)}(hhh](jp)}(hhh]h)}(hminimum_console_loglevelh]hminimum_console_loglevel}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM;hj=ubah}(h]h ]h"]h$]h&]uh1johj=ubjp)}(hhh]h)}(hhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj>hhhhhMBubh)}(h:Delay each printk message in ``printk_delay`` millisecondsh](hDelay each printk message in }(hj%>hhhNhNubj4)}(h``printk_delay``h]h printk_delay}(hj->hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj%>ubh milliseconds}(hj%>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMDhj>hhubh)}(h Value from 0 - 10000 is allowed.h]h Value from 0 - 10000 is allowed.}(hjE>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhj>hhubeh}(h]j ah ]h"] printk_delayah$]h&]uh1hhhhhhhhMBubh)}(hhh](h)}(hprintk_ratelimith]hprintk_ratelimit}(hj]>hhhNhNubah}(h]h ]h"]h$]h&]jj: uh1hhjZ>hhhhhMJubh)}(hSome warning messages are rate limited. ``printk_ratelimit`` specifies the minimum length of time between these messages (in seconds). The default value is 5 seconds.h](h(Some warning messages are rate limited. }(hjk>hhhNhNubj4)}(h``printk_ratelimit``h]hprintk_ratelimit}(hjs>hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjk>ubhj specifies the minimum length of time between these messages (in seconds). The default value is 5 seconds.}(hjk>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMLhjZ>hhubh)}(h(A value of 0 will disable rate limiting.h]h(A value of 0 will disable rate limiting.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhjZ>hhubeh}(h]j@ ah ]h"]printk_ratelimitah$]h&]uh1hhhhhhhhMJjKubh)}(hhh](h)}(hprintk_ratelimit_bursth]hprintk_ratelimit_burst}(hj>hhhNhNubah}(h]h ]h"]h$]h&]jj\ uh1hhj>hhhhhMTubh)}(hWhile long term we enforce one message per `printk_ratelimit`_ seconds, we do allow a burst of messages to pass through. ``printk_ratelimit_burst`` specifies the number of messages we can send before ratelimiting kicks in.h](h+While long term we enforce one message per }(hj>hhhNhNubh)}(h`printk_ratelimit`_h]hprintk_ratelimit}(hj>hhhNhNubah}(h]h ]h"]h$]h&]nameprintk_ratelimitjj@ uh1hhj>jKubh; seconds, we do allow a burst of messages to pass through. }(hj>hhhNhNubj4)}(h``printk_ratelimit_burst``h]hprintk_ratelimit_burst}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj>ubhK specifies the number of messages we can send before ratelimiting kicks in.}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMVhj>hhubh)}(h!The default value is 10 messages.h]h!The default value is 10 messages.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hj>hhubeh}(h]jb ah ]h"]printk_ratelimit_burstah$]h&]uh1hhhhhhhhMTubh)}(hhh](h)}(hprintk_devkmsgh]hprintk_devkmsg}(hj>hhhNhNubah}(h]h ]h"]h$]h&]jj~ uh1hhj>hhhhhM_ubh)}(h4Control the logging to ``/dev/kmsg`` from userspace:h](hControl the logging to }(hj ?hhhNhNubj4)}(h ``/dev/kmsg``h]h /dev/kmsg}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ?ubh from userspace:}(hj ?hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMahj>hhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jOhj.?ubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1jOhj.?ubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(h ratelimith]h ratelimit}(hjN?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjK?ubah}(h]h ]h"]h$]h&]uh1johjH?ubjp)}(hhh]h)}(hdefault, ratelimitedh]hdefault, ratelimited}(hje?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjb?ubah}(h]h ]h"]h$]h&]uh1johjH?ubeh}(h]h ]h"]h$]h&]uh1jjhjE?ubjk)}(hhh](jp)}(hhh]h)}(honh]hon}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehj?ubah}(h]h ]h"]h$]h&]uh1johj?ubjp)}(hhh]h)}(h-unlimited logging to /dev/kmsg from userspaceh]h-unlimited logging to /dev/kmsg from userspace}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehj?ubah}(h]h ]h"]h$]h&]uh1johj?ubeh}(h]h ]h"]h$]h&]uh1jjhjE?ubjk)}(hhh](jp)}(hhh]h)}(hoffh]hoff}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhj?ubah}(h]h ]h"]h$]h&]uh1johj?ubjp)}(hhh]h)}(hlogging to /dev/kmsg disabledh]hlogging to /dev/kmsg disabled}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhj?ubah}(h]h ]h"]h$]h&]uh1johj?ubeh}(h]h ]h"]h$]h&]uh1jjhjE?ubeh}(h]h ]h"]h$]h&]uh1jehj.?ubeh}(h]h ]h"]h$]h&]colsKuh1jJhj+?ubah}(h]h ]h"]h$]h&]uh1jEhj>hhhhhNubh)}(hThe kernel command line parameter ``printk.devkmsg=`` overrides this and is a one-time setting until next reboot: once set, it cannot be changed by this sysctl interface anymore.h](h"The kernel command line parameter }(hj@hhhNhNubj4)}(h``printk.devkmsg=``h]hprintk.devkmsg=}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj@ubh} overrides this and is a one-time setting until next reboot: once set, it cannot be changed by this sysctl interface anymore.}(hj@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMihj>hhubeh}(h]j ah ]h"]printk_devkmsgah$]h&]uh1hhhhhhhhM_ubj )}(h>==============================================================h]h}(h]h ]h"]h$]h&]uh1jhhhMmhhhhubh)}(hhh](h)}(hptyh]hpty}(hj4@hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj1@hhhhhMqubh)}(h)See Documentation/filesystems/devpts.rst.h]h)See Documentation/filesystems/devpts.rst.}(hjB@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshj1@hhubeh}(h]j ah ]h"]ptyah$]h&]uh1hhhhhhhhMqubh)}(hhh](h)}(hrandomh]hrandom}(hjZ@hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjW@hhhhhMwubh)}(h0This is a directory, with the following entries:h]h0This is a directory, with the following entries:}(hjh@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhjW@hhubj)}(hhh](j)}(hZ``boot_id``: a UUID generated the first time this is retrieved, and unvarying after that; h]h)}(hY``boot_id``: a UUID generated the first time this is retrieved, and unvarying after that;h](j4)}(h ``boot_id``h]hboot_id}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj}@ubhN: a UUID generated the first time this is retrieved, and unvarying after that;}(hj}@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM{hjy@ubah}(h]h ]h"]h$]h&]uh1jhjv@hhhhhNubj)}(hk``uuid``: a UUID generated every time this is retrieved (this can thus be used to generate UUIDs at will); h]h)}(hj``uuid``: a UUID generated every time this is retrieved (this can thus be used to generate UUIDs at will);h](j4)}(h``uuid``h]huuid}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj@ubhb: a UUID generated every time this is retrieved (this can thus be used to generate UUIDs at will);}(hj@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM~hj@ubah}(h]h ]h"]h$]h&]uh1jhjv@hhhhhNubj)}(h6``entropy_avail``: the pool's entropy count, in bits; h]h)}(h5``entropy_avail``: the pool's entropy count, in bits;h](j4)}(h``entropy_avail``h]h entropy_avail}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj@ubh&: the pool’s entropy count, in bits;}(hj@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhjv@hhhhhNubj)}(h.``poolsize``: the entropy pool size, in bits; h]h)}(h-``poolsize``: the entropy pool size, in bits;h](j4)}(h ``poolsize``h]hpoolsize}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj@ubh!: the entropy pool size, in bits;}(hj@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhjv@hhhhhNubj)}(h``urandom_min_reseed_secs``: obsolete (used to determine the minimum number of seconds between urandom pool reseeding). This file is writable for compatibility purposes, but writing to it has no effect on any RNG behavior; h]h)}(h``urandom_min_reseed_secs``: obsolete (used to determine the minimum number of seconds between urandom pool reseeding). This file is writable for compatibility purposes, but writing to it has no effect on any RNG behavior;h](j4)}(h``urandom_min_reseed_secs``h]hurandom_min_reseed_secs}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjAubh: obsolete (used to determine the minimum number of seconds between urandom pool reseeding). This file is writable for compatibility purposes, but writing to it has no effect on any RNG behavior;}(hjAhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhjv@hhhhhNubj)}(h``write_wakeup_threshold``: when the entropy count drops below this (as a number of bits), processes waiting to write to ``/dev/random`` are woken up. This file is writable for compatibility purposes, but writing to it has no effect on any RNG behavior. h]h)}(h``write_wakeup_threshold``: when the entropy count drops below this (as a number of bits), processes waiting to write to ``/dev/random`` are woken up. This file is writable for compatibility purposes, but writing to it has no effect on any RNG behavior.h](j4)}(h``write_wakeup_threshold``h]hwrite_wakeup_threshold}(hj?AhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj;Aubh_: when the entropy count drops below this (as a number of bits), processes waiting to write to }(hj;AhhhNhNubj4)}(h``/dev/random``h]h /dev/random}(hjQAhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj;Aubhu are woken up. This file is writable for compatibility purposes, but writing to it has no effect on any RNG behavior.}(hj;AhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj7Aubah}(h]h ]h"]h$]h&]uh1jhjv@hhhhhNubeh}(h]h ]h"]h$]h&]j>j?uh1jhhhM{hjW@hhubeh}(h]j ah ]h"]randomah$]h&]uh1hhhhhhhhMwubh)}(hhh](h)}(hrandomize_va_spaceh]hrandomize_va_space}(hjAhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj|AhhhhhMubh)}(hThis option can be used to select the type of process address space randomization that is used in the system, for architectures that support this feature.h]hThis option can be used to select the type of process address space randomization that is used in the system, for architectures that support this feature.}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj|AhhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjAubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKKuh1jOhjAubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1johjAubjp)}(hhh]h)}(hTurn the process address space randomization off. This is the default for architectures that do not support this feature anyways, and kernels that are booted with the "norandmaps" parameter.h]hTurn the process address space randomization off. This is the default for architectures that do not support this feature anyways, and kernels that are booted with the “norandmaps” parameter.}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1johjAubeh}(h]h ]h"]h$]h&]uh1jjhjAubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1johjAubjp)}(hhh]h)}(hX*Make the addresses of mmap base, stack and VDSO page randomized. This, among other things, implies that shared libraries will be loaded to random addresses. Also for PIE-linked binaries, the location of code start is randomized. This is the default if the ``CONFIG_COMPAT_BRK`` option is enabled.h](hXMake the addresses of mmap base, stack and VDSO page randomized. This, among other things, implies that shared libraries will be loaded to random addresses. Also for PIE-linked binaries, the location of code start is randomized. This is the default if the }(hj BhhhNhNubj4)}(h``CONFIG_COMPAT_BRK``h]hCONFIG_COMPAT_BRK}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj Bubh option is enabled.}(hj BhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1johjAubeh}(h]h ]h"]h$]h&]uh1jjhjAubjk)}(hhh](jp)}(hhh]h)}(hjh]h2}(hj ah ]h"] sg-big-buffah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hshmallh]hshmall}(hj?EhhhNhNubah}(h]h ]h"]h$]h&]jjZ uh1hhjuh1jOhj Mubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hj5MhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2Mubah}(h]h ]h"]h$]h&]uh1johj/Mubjp)}(hhh]h)}(h`(P)`h]j2)}(hjMMh]h(P)}(hjOMhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjKMubah}(h]h ]h"]h$]h&]uh1hhhhMhjHMubah}(h]h ]h"]h$]h&]uh1johj/Mubjp)}(hhh]h)}(hproprietary module was loadedh]hproprietary module was loaded}(hjkMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhMubah}(h]h ]h"]h$]h&]uh1johj/Mubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(hjh]h2}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1johjMubjp)}(hhh]h)}(h`(F)`h]j2)}(hjMh]h(F)}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjMubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1johjMubjp)}(hhh]h)}(hmodule was force loadedh]hmodule was force loaded}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1johjMubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(hjh]h4}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1johjMubjp)}(hhh]h)}(h`(S)`h]j2)}(hjMh]h(S)}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjMubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1johjMubjp)}(hhh]h)}(h0kernel running on an out of specification systemh]h0kernel running on an out of specification system}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1johjMubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(h8h]h8}(hj7NhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4Nubah}(h]h ]h"]h$]h&]uh1johj1Nubjp)}(hhh]h)}(h`(R)`h]j2)}(hjPNh]h(R)}(hjRNhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjNNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKNubah}(h]h ]h"]h$]h&]uh1johj1Nubjp)}(hhh]h)}(hmodule was force unloadedh]hmodule was force unloaded}(hjnNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkNubah}(h]h ]h"]h$]h&]uh1johj1Nubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(h16h]h16}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1johjNubjp)}(hhh]h)}(h`(M)`h]j2)}(hjNh]h(M)}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1johjNubjp)}(hhh]h)}(h2processor reported a Machine Check Exception (MCE)h]h2processor reported a Machine Check Exception (MCE)}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1johjNubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(h32h]h32}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1johjNubjp)}(hhh]h)}(h`(B)`h]j2)}(hjNh]h(B)}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1johjNubjp)}(hhh]h)}(h1bad page referenced or some unexpected page flagsh]h1bad page referenced or some unexpected page flags}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1johjNubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(h64h]h64}(hjPubah}(h]h ]h"]h$]h&]uh1johj;Pubjp)}(hhh]h)}(h`(W)`h]j2)}(hjZPh]h(W)}(hj\PhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjXPubah}(h]h ]h"]h$]h&]uh1hhhhMhjUPubah}(h]h ]h"]h$]h&]uh1johj;Pubjp)}(hhh]h)}(hkernel issued warningh]hkernel issued warning}(hjxPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuPubah}(h]h ]h"]h$]h&]uh1johj;Pubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(h1024h]h1024}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1johjPubjp)}(hhh]h)}(h`(C)`h]j2)}(hjPh]h(C)}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjPubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1johjPubjp)}(hhh]h)}(hstaging driver was loadedh]hstaging driver was loaded}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1johjPubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(h2048h]h2048}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1johjPubjp)}(hhh]h)}(h`(I)`h]j2)}(hjQh]h(I)}(hj QhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjQubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1johjPubjp)}(hhh]h)}(h/workaround for bug in platform firmware appliedh]h/workaround for bug in platform firmware applied}(hj&QhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#Qubah}(h]h ]h"]h$]h&]uh1johjPubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(h4096h]h4096}(hjFQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCQubah}(h]h ]h"]h$]h&]uh1johj@Qubjp)}(hhh]h)}(h`(O)`h]j2)}(hj_Qh]h(O)}(hjaQhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj]Qubah}(h]h ]h"]h$]h&]uh1hhhhMhjZQubah}(h]h ]h"]h$]h&]uh1johj@Qubjp)}(hhh]h)}(h2externally-built ("out-of-tree") module was loadedh]h6externally-built (“out-of-tree”) module was loaded}(hj}QhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjzQubah}(h]h ]h"]h$]h&]uh1johj@Qubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(h8192h]h8192}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1johjQubjp)}(hhh]h)}(h`(E)`h]j2)}(hjQh]h(E)}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjQubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1johjQubjp)}(hhh]h)}(hunsigned module was loadedh]hunsigned module was loaded}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1johjQubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(h16384h]h16384}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1johjQubjp)}(hhh]h)}(h`(L)`h]j2)}(hj Rh]h(L)}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj Rubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1johjQubjp)}(hhh]h)}(hsoft lockup occurredh]hsoft lockup occurred}(hj+RhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(Rubah}(h]h ]h"]h$]h&]uh1johjQubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(h32768h]h32768}(hjKRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHRubah}(h]h ]h"]h$]h&]uh1johjERubjp)}(hhh]h)}(h`(K)`h]j2)}(hjdRh]h(K)}(hjfRhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjbRubah}(h]h ]h"]h$]h&]uh1hhhhMhj_Rubah}(h]h ]h"]h$]h&]uh1johjERubjp)}(hhh]h)}(hkernel has been live patchedh]hkernel has been live patched}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1johjERubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(h65536h]h65536}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1johjRubjp)}(hhh]h)}(h`(X)`h]j2)}(hjRh]h(X)}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjRubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1johjRubjp)}(hhh]h)}(h0Auxiliary taint, defined and used by for distrosh]h0Auxiliary taint, defined and used by for distros}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1johjRubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubjk)}(hhh](jp)}(hhh]h)}(h131072h]h131072}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1johjRubjp)}(hhh]h)}(h`(T)`h]j2)}(hjSh]h(T)}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjSubah}(h]h ]h"]h$]h&]uh1hhhhMhj Subah}(h]h ]h"]h$]h&]uh1johjRubjp)}(hhh]h)}(h9The kernel was built with the struct randomization pluginh]h9The kernel was built with the struct randomization plugin}(hj0ShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-Subah}(h]h ]h"]h$]h&]uh1johjRubeh}(h]h ]h"]h$]h&]uh1jjhj,Mubeh}(h]h ]h"]h$]h&]uh1jehj Mubeh}(h]h ]h"]h$]h&]colsKuh1jJhjMubah}(h]h ]h"]h$]h&]uh1jEhjLhhhhhNubh)}(hGSee Documentation/admin-guide/tainted-kernels.rst for more information.h]hGSee Documentation/admin-guide/tainted-kernels.rst for more information.}(hj]ShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubj)}(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:}(hjrShhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMhjnSubj)}(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 }(hjShhhNhNubj4)}(h ``EINVAL``h]hEINVAL}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjSubh6 if the kernel is booted with the command line option }(hjShhhNhNubj4)}(h(``panic_on_taint=,nousertaint``h]h$panic_on_taint=,nousertaint}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjSubh6 and any of the ORed together values being written to }(hjShhhNhNubj4)}(h ``tainted``h]htainted}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjSubh 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 }(hjShhhNhNubj4)}(h``nousertaint``h]h nousertaint}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjSubh switch.}(hjShhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjnSubeh}(h]h ]h"]h$]h&]uh1jhhhMhjkSubah}(h]h ]h"]h$]h&]uh1jhjLhhhhhNubeh}(h]jah ]h"]taintedah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h threads-maxh]h threads-max}(hjShhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjShhhhhMubh)}(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 }(hjThhhNhNubj4)}(h ``fork()``h]hfork()}(hj ThhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjTubh.}(hjThhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjShhubh)}(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.}(hj#ThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjShhubh)}(h>The minimum value that can be written to ``threads-max`` is 1.h](h)The minimum value that can be written to }(hj1ThhhNhNubj4)}(h``threads-max``h]h threads-max}(hj9ThhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj1Tubh is 1.}(hj1ThhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjShhubh)}(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 }(hjQThhhNhNubj4)}(h``threads-max``h]h threads-max}(hjYThhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjQTubh is given by the constant }(hjQThhhNhNubj4)}(h``FUTEX_TID_MASK``h]hFUTEX_TID_MASK}(hjkThhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjQTubh (0x3fffffff).}(hjQThhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjShhubh)}(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 }(hjThhhNhNubj4)}(h``threads-max``h]h threads-max}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjTubh an }(hjThhhNhNubj4)}(h ``EINVAL``h]hEINVAL}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjTubh error occurs.}(hjThhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjShhubeh}(h]jah ]h"] threads-maxah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(htimer_migrationh]htimer_migration}(hjThhhNhNubah}(h]h ]h"]h$]h&]jj6uh1hhjThhhhhMubh)}(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.}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjThhubh)}(hDefault is set (1).h]hDefault is set (1).}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjThhubeh}(h]j<ah ]h"]timer_migrationah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(htraceoff_on_warningh]htraceoff_on_warning}(hjThhhNhNubah}(h]h ]h"]h$]h&]jjXuh1hhjThhhhhMubh)}(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 }(hjUhhhNhNubj4)}(h ``WARN()``h]hWARN()}(hj UhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjUubh is hit.}(hjUhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM!hjThhubeh}(h]j^ah ]h"]traceoff_on_warningah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(htracepoint_printkh]htracepoint_printk}(hj+UhhhNhNubah}(h]h ]h"]h$]h&]jjzuh1hhj(UhhhhhM&ubh)}(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 }(hj9UhhhNhNubj4)}(h ``tp_printk``h]h tp_printk}(hjAUhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj9Uubh6 boot parameter), this entry provides runtime control:}(hj9UhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM(hj(Uhhubj)}(h+echo 0 > /proc/sys/kernel/tracepoint_printkh]h+echo 0 > /proc/sys/kernel/tracepoint_printk}hjYUsbah}(h]h ]h"]h$]h&]hhuh1jhhhM+hj(Uhhubh)}(h8will stop tracepoints from being sent to printk(), and::h]h7will stop tracepoints from being sent to printk(), and:}(hjgUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hj(Uhhubj)}(h+echo 1 > /proc/sys/kernel/tracepoint_printkh]h+echo 1 > /proc/sys/kernel/tracepoint_printk}hjuUsbah}(h]h ]h"]h$]h&]hhuh1jhhhM/hj(Uhhubh)}(h!will send them to printk() again.h]h!will send them to printk() again.}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hj(Uhhubh)}(hDThis only works if the kernel was booted with ``tp_printk`` enabled.h](h.This only works if the kernel was booted with }(hjUhhhNhNubj4)}(h ``tp_printk``h]h tp_printk}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjUubh enabled.}(hjUhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM3hj(Uhhubh)}(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.}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hj(Uhhubeh}(h]jah ]h"]tracepoint_printkah$]h&]uh1hhhhhhhhM&ubh)}(hhh](h)}(hunaligned-traph]hunaligned-trap}(hjUhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjUhhhhhM: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 (}(hjUhhhNhNubj4)}(h$``CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW``h]h CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW}(hjU]hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjUubh ; currently, }(hjUhhhNhNubj4)}(h``arc``h]harc}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjUubh, }(hjUhhhNhNubj4)}(h ``parisc``h]hparisc}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjUubh and }(hjUhhhNhNubj4)}(h ``loongarch``h]h loongarch}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjUubhQ), controls whether unaligned traps are caught and emulated (instead of failing).}(hjUhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM<hjUhhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhj0VubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK8uh1jOhj0Vubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hjPVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjMVubah}(h]h ]h"]h$]h&]uh1johjJVubjp)}(hhh]h)}(h"Do not emulate unaligned accesses.h]h"Do not emulate unaligned accesses.}(hjfVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjcVubah}(h]h ]h"]h$]h&]uh1johjJVubeh}(h]h ]h"]h$]h&]uh1jjhjGVubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChjVubah}(h]h ]h"]h$]h&]uh1johjVubjp)}(hhh]h)}(h8Emulate unaligned accesses. This is the default setting.h]h8Emulate unaligned accesses. This is the default setting.}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChjVubah}(h]h ]h"]h$]h&]uh1johjVubeh}(h]h ]h"]h$]h&]uh1jjhjGVubeh}(h]h ]h"]h$]h&]uh1jehj0Vubeh}(h]h ]h"]h$]h&]colsKuh1jJhj-Vubah}(h]h ]h"]h$]h&]uh1jEhjUhhhhhNubh)}(h&See also `ignore-unaligned-usertrap`_.h](h See also }(hjVhhhNhNubh)}(h`ignore-unaligned-usertrap`_h]hignore-unaligned-usertrap}(hjVhhhNhNubah}(h]h ]h"]h$]h&]nameignore-unaligned-usertrapjjuh1hhjVjKubh.}(hjVhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMFhjUhhubeh}(h]jah ]h"]unaligned-trapah$]h&]uh1hhhhhhhhM:jKubh)}(hhh](h)}(hunknown_nmi_panich]hunknown_nmi_panic}(hjVhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjVhhhhhMJubh)}(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.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjVhhubh)}(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.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhjVhhubeh}(h]jah ]h"]unknown_nmi_panicah$]h&]uh1hhhhhhhhMJubh)}(hhh](h)}(hunprivileged_bpf_disabledh]hunprivileged_bpf_disabled}(hj)WhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj&WhhhhhMUubh)}(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 }(hj7WhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hj?WhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj7Wubh; once disabled, calling }(hj7WhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hjQWhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj7Wubh without }(hj7WhhhNhNubj4)}(h``CAP_SYS_ADMIN``h]h CAP_SYS_ADMIN}(hjcWhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj7Wubh or }(hj7WhhhNhNubj4)}(h ``CAP_BPF``h]hCAP_BPF}(hjuWhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj7Wubh will return }(hj7WhhhNhNubj4)}(h ``-EPERM``h]h-EPERM}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj7WubhI. Once set to 1, this can’t be cleared from the running kernel anymore.}(hj7WhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMWhj&Whhubh)}(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 }(hjWhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjWubhg, however, an admin can still change this setting later on, if needed, by writing 0 or 1 to this entry.}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM\hj&Whhubh)}(hnIf ``BPF_UNPRIV_DEFAULT_OFF`` is enabled in the kernel config, then this entry will default to 2 instead of 0.h](hIf }(hjWhhhNhNubj4)}(h``BPF_UNPRIV_DEFAULT_OFF``h]hBPF_UNPRIV_DEFAULT_OFF}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjWubhQ is enabled in the kernel config, then this entry will default to 2 instead of 0.}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM`hj&WhhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjWubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthK=uh1jOhjWubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjWubah}(h]h ]h"]h$]h&]uh1johjWubjp)}(hhh]h)}(h+Unprivileged calls to ``bpf()`` are enabledh](hUnprivileged calls to }(hjXhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hj XhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjXubh are enabled}(hjXhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMdhjXubah}(h]h ]h"]h$]h&]uh1johjWubeh}(h]h ]h"]h$]h&]uh1jjhjWubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hjJXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjGXubah}(h]h ]h"]h$]h&]uh1johjDXubjp)}(hhh]h)}(h=Unprivileged calls to ``bpf()`` are disabled without recoveryh](hUnprivileged calls to }(hj`XhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hjhXhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj`Xubh are disabled without recovery}(hj`XhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMehj]Xubah}(h]h ]h"]h$]h&]uh1johjDXubeh}(h]h ]h"]h$]h&]uh1jjhjWubjk)}(hhh](jp)}(hhh]h)}(hjh]h2}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjXubah}(h]h ]h"]h$]h&]uh1johjXubjp)}(hhh]h)}(h,Unprivileged calls to ``bpf()`` are disabledh](hUnprivileged calls to }(hjXhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjXubh are disabled}(hjXhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMfhjXubah}(h]h ]h"]h$]h&]uh1johjXubeh}(h]h ]h"]h$]h&]uh1jjhjWubeh}(h]h ]h"]h$]h&]uh1jehjWubeh}(h]h ]h"]h$]h&]colsKuh1jJhjWubah}(h]h ]h"]h$]h&]uh1jEhj&WhhhhhNubeh}(h]jah ]h"]unprivileged_bpf_disabledah$]h&]uh1hhhhhhhhMUubh)}(hhh](h)}(h warn_limith]h warn_limit}(hjXhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjXhhhhhMkubh)}(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 }(hjXhhhNhNubj4)}(h``panic_on_warn``h]h panic_on_warn}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjXubhu is not set. Setting this to 0 disables checking the warning count. Setting this to 1 has the same effect as setting }(hjXhhhNhNubj4)}(h``panic_on_warn=1``h]hpanic_on_warn=1}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjXubh. The default value is 0.}(hjXhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMmhjXhhubeh}(h]jah ]h"] warn_limitah$]h&]uh1hhhhhhhhMkubh)}(hhh](h)}(hwatchdogh]hwatchdog}(hj;YhhhNhNubah}(h]h ]h"]h$]h&]jj$uh1hhj8YhhhhhMtubh)}(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 }(hjIYhhhNhNubjV)}(h*and*h]hand}(hjQYhhhNhNubah}(h]h ]h"]h$]h&]uh1jUhjIYubhC the NMI watchdog (i.e. the hard lockup detector) at the same time.}(hjIYhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMvhj8YhhubjF)}(hhh]jK)}(hhh](jP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjlYubjP)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jOhjlYubjf)}(hhh](jk)}(hhh](jp)}(hhh]h)}(hjh]h0}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhjYubah}(h]h ]h"]h$]h&]uh1johjYubjp)}(hhh]h)}(hDisable both lockup detectors.h]hDisable both lockup detectors.}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhjYubah}(h]h ]h"]h$]h&]uh1johjYubeh}(h]h ]h"]h$]h&]uh1jjhjYubjk)}(hhh](jp)}(hhh]h)}(hjvh]h1}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjYubah}(h]h ]h"]h$]h&]uh1johjYubjp)}(hhh]h)}(hEnable both lockup detectors.h]hEnable both lockup detectors.}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjYubah}(h]h ]h"]h$]h&]uh1johjYubeh}(h]h ]h"]h$]h&]uh1jjhjYubeh}(h]h ]h"]h$]h&]uh1jehjlYubeh}(h]h ]h"]h$]h&]colsKuh1jJhjiYubah}(h]h ]h"]h$]h&]uh1jEhj8YhhhhhNubh)}(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 }(hjZhhhNhNubj4)}(h``soft_watchdog``h]h soft_watchdog}(hj ZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjZubh and }(hjZhhhNhNubj4)}(h``nmi_watchdog``h]h nmi_watchdog}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjZubh parameters. If the }(hjZhhhNhNubj4)}(h ``watchdog``h]hwatchdog}(hj1ZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjZubh- parameter is read, for example by executing:}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM~hj8Yhhubj)}(hcat /proc/sys/kernel/watchdogh]hcat /proc/sys/kernel/watchdog}hjIZsbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj8Yhhubh)}(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&]hhuh1jhhhMhjZhhubeh}(h]jLah ]h"]watchdog_cpumaskah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hwatchdog_threshh]hwatchdog_thresh}(hj[hhhNhNubah}(h]h ]h"]h$]h&]jjhuh1hhj[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 (}(hj5[hhhNhNubj4)}(h``2 * watchdog_thresh``h]h2 * watchdog_thresh}(hj=[hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj5[ubhI). Setting this tunable to zero will disable lockup detection altogether.}(hj5[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj[hhubeh}(h]jnah ]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_backlinksjofootnote_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_handlerj[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](jfj ehung_task_timeout_secs]jj#aunaligned-trap]j&amodules_disabled]j'admesg_restrict]jr)akexec_load_disabled]j\*aprintk_ratelimit]j>aignore-unaligned-usertrap]jVaurefids}(j]jaj]jv*aunameids}(ja[j^[jjjjj*jjjjjj,j8jjZjYj|jjjjjEjjjjj&jPjHjjjjzjjjjsjj2jjXjj j6j jXjB!jzj!jjX"jj"jj"jjN#j$j#jFjD$jhj%jj2&jj*'jjP'jj'jj(j4j(jVj)jxj@*jj*jjG+jjF+jj+jjC,j"j=-jDj-jfj.jj.jj?/jj/jj/jj'0j2j0jTjl1jvjB2jj3jjJ3jj 4jjH6j j 7jB jb7jd j38j j9j js:j j:j j1;j jW;j0 j;jR j;jt j!<j jG<j jm<j j>j jW>j j>j@ j>jb j$@j jT@j jyAj jBj jBj jCj. j5CjP j[Cjr jCj jCj j)Dj jDj jDj j9Ej> jEj` jEj j/Fj jFj jGj jHj j`Ij,j0JjNjKjpjKjjLjjLjjSjjTjjTj<j%Uj^jUjjVjj#WjjXjj5YjjZj*j[jLjY[jnu nametypes}(ja[jjj*jjj,jjYjjjEjjjPjjzjjsj2jXj j jB!j!jX"j"j"jN#j#jD$j%j2&j*'jP'j'j(j(j)j@*j*jG+jF+j+jC,j=-j-j.j.j?/j/j/j'0j0jl1jB2j3jJ3j 4jH6j 7jb7j38j9js:j:j1;jW;j;j;j!<jG<jm<j>jW>j>j>j$@jT@jyAjBjBjCj5Cj[CjCjCj)DjDjDj9EjEjEj/FjFjGjHj`Ij0JjKjKjLjLjSjTjTj%UjUjVj#WjXj5YjZj[jY[uh}(j^[hjjjjjjjj-jjj8jjZj/j|jjj\jjjjjBjjjMj&jjHjjjjSjjjj}jjjjvjj5j6j[jXj jzj jjE!jj!jj["jj"j$j"jFjQ#jhj$jjG$jj %jj5&jj-'jjS'j4j'jVj(jxj(jj)jjC*jj*jj*jjL+j"j+jDjF,jfj@-jj-jj.jj/jjB/jj/j2j/jTj*0jvj0jjo1jjE2jj3jjM3j j4jB jK6jd j 7j je7j j68j j9j jv:j j:j0 j4;jR jZ;jt j;j j;j j$<j jJ<j jz<j j>j@ jZ>jb j>j j>j j1@j jW@j j|Aj jBj. jBjP jCjr j8Cj j^Cj jCj jCj j,Dj jDj> jDj` jj5j`jWjjyjjjjjjj jj,j#jNjEjpjgjjjjjjjjj 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 j j j: j1 j\ jS j~ ju j j j j j j j j j( j jJ jA jl jc j j j j j j j j j j j8 j/ jZ jQ j| js j j j j j j jj j&jjHj?jjjajjjjjjjjjj j6j-jXjOjzjqjjjjjjjjj$jjFj=jhj_u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}j[KqsRparse_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&]jBalevelKtypeINFOsourcehlineKuh1j[hjhhhhhKubj[)}(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[hj=ubetransform_messages] transformerN include_log] decorationNhhub.