sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget-/translations/zh_CN/admin-guide/sysctl/kernelmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/zh_TW/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/it_IT/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/ja_JP/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/ko_KR/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubh)}(hhh]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_sys_info}(hjhhhNhNubah}(h]id28ah ]h"]h$]h&]refidhung-task-sys-infouh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_timeout_secs}(hj7hhhNhNubah}(h]id29ah ]h"]h$]h&]refidhung-task-timeout-secsuh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_check_interval_secs}(hjYhhhNhNubah}(h]id30ah ]h"]h$]h&]refidhung-task-check-interval-secsuh1hhjVubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_warnings}(hj{hhhNhNubah}(h]id31ah ]h"]h$]h&]refidhung-task-warningsuh1hhjxubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhyperv_record_panic_msg}(hjhhhNhNubah}(h]id32ah ]h"]h$]h&]refidhyperv-record-panic-msguh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hignore-unaligned-usertrap}(hjhhhNhNubah}(h]id33ah ]h"]h$]h&]refidignore-unaligned-usertrapuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hio_uring_disabled}(hjhhhNhNubah}(h]id34ah ]h"]h$]h&]refidio-uring-disableduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hio_uring_group}(hjhhhNhNubah}(h]id35ah ]h"]h$]h&]refidio-uring-groupuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkernel_sys_info}(hj%hhhNhNubah}(h]id36ah ]h"]h$]h&]refidkernel-sys-infouh1hhj"ubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkexec_load_disabled}(hjGhhhNhNubah}(h]id37ah ]h"]h$]h&]refidkexec-load-disableduh1hhjDubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkexec_load_limit_panic}(hjihhhNhNubah}(h]id38ah ]h"]h$]h&]refidkexec-load-limit-panicuh1hhjfubah}(h]h ]h"]h$]h&]uh1hhjcubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkexec_load_limit_reboot}(hjhhhNhNubah}(h]id39ah ]h"]h$]h&]refidkexec-load-limit-rebootuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h kptr_restrict}(hjhhhNhNubah}(h]id40ah ]h"]h$]h&]refid kptr-restrictuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h)softlockup_sys_info & hardlockup_sys_info}(hjhhhNhNubah}(h]id41ah ]h"]h$]h&]refid'softlockup-sys-info-hardlockup-sys-infouh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmodprobe}(hjhhhNhNubah}(h]id42ah ]h"]h$]h&]refidmodprobeuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmodules_disabled}(hjhhhNhNubah}(h]id43ah ]h"]h$]h&]refidmodules-disableduh1hhjubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmsgmax, msgmnb, and msgmni}(hj5hhhNhNubah}(h]id44ah ]h"]h$]h&]refidmsgmax-msgmnb-and-msgmniuh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhj/ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h8msg_next_id, sem_next_id, and shm_next_id (System V IPC)}(hjWhhhNhNubah}(h]id45ah ]h"]h$]h&]refid4msg-next-id-sem-next-id-and-shm-next-id-system-v-ipcuh1hhjTubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h ngroups_max}(hjyhhhNhNubah}(h]id46ah ]h"]h$]h&]refid ngroups-maxuh1hhjvubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h nmi_watchdog}(hjhhhNhNubah}(h]id47ah ]h"]h$]h&]refid nmi-watchdoguh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hnmi_wd_lpm_factor (PPC only)}(hjhhhNhNubah}(h]id48ah ]h"]h$]h&]refidnmi-wd-lpm-factor-ppc-onlyuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hnuma_balancing}(hjhhhNhNubah}(h]id49ah ]h"]h$]h&]refidnuma-balancinguh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h&numa_balancing_promote_rate_limit_MBps}(hjhhhNhNubah}(h]id50ah ]h"]h$]h&]refid&numa-balancing-promote-rate-limit-mbpsuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hoops_all_cpu_backtrace}(hj#hhhNhNubah}(h]id51ah ]h"]h$]h&]refidoops-all-cpu-backtraceuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h oops_limit}(hjEhhhNhNubah}(h]id52ah ]h"]h$]h&]refid oops-limituh1hhjBubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hosrelease, ostype & version}(hjghhhNhNubah}(h]id53ah ]h"]h$]h&]refidosrelease-ostype-versionuh1hhjdubah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hoverflowgid & overflowuid}(hjhhhNhNubah}(h]id54ah ]h"]h$]h&]refidoverflowgid-overflowuiduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic}(hjhhhNhNubah}(h]id55ah ]h"]h$]h&]refidpanicuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_io_nmi}(hjhhhNhNubah}(h]id56ah ]h"]h$]h&]refidpanic-on-io-nmiuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h panic_on_oops}(hjhhhNhNubah}(h]id57ah ]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}(hj hhhNhNubah}(h]id58ah ]h"]h$]h&]refidpanic-on-stackoverflowuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_unrecovered_nmi}(hj3 hhhNhNubah}(h]id59ah ]h"]h$]h&]refidpanic-on-unrecovered-nmiuh1hhj0 ubah}(h]h ]h"]h$]h&]uh1hhj- ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h panic_on_warn}(hjU hhhNhNubah}(h]id60ah ]h"]h$]h&]refid panic-on-warnuh1hhjR ubah}(h]h ]h"]h$]h&]uh1hhjO ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h panic_print}(hjw hhhNhNubah}(h]id61ah ]h"]h$]h&]refid panic-printuh1hhjt ubah}(h]h ]h"]h$]h&]uh1hhjq ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_sys_info}(hj hhhNhNubah}(h]id62ah ]h"]h$]h&]refidpanic-sys-infouh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_rcu_stall}(hj hhhNhNubah}(h]id63ah ]h"]h$]h&]refidpanic-on-rcu-stalluh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmax_rcu_stall_to_panic}(hj hhhNhNubah}(h]id64ah ]h"]h$]h&]refidmax-rcu-stall-to-panicuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hperf_cpu_time_max_percent}(hj hhhNhNubah}(h]id65ah ]h"]h$]h&]refidperf-cpu-time-max-percentuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hperf_event_paranoid}(hj! hhhNhNubah}(h]id66ah ]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}(hjC hhhNhNubah}(h]id67ah ]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}(hje hhhNhNubah}(h]id68ah ]h"]h$]h&]refidperf-event-mlock-kbuh1hhjb 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]id69ah ]h"]h$]h&]refid!perf-event-max-contexts-per-stackuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h'perf_user_access (arm64 and riscv only)}(hj hhhNhNubah}(h]id70ah ]h"]h$]h&]refid%perf-user-access-arm64-and-riscv-onlyuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpid_max}(hj hhhNhNubah}(h]id71ah ]h"]h$]h&]refidpid-maxuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h ns_last_pid}(hj hhhNhNubah}(h]id72ah ]h"]h$]h&]refid ns-last-piduh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpowersave-nap (PPC only)}(hj hhhNhNubah}(h]id73ah ]h"]h$]h&]refidpowersave-nap-ppc-onlyuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hprintk}(hj1 hhhNhNubah}(h]id74ah ]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}(hjS hhhNhNubah}(h]id75ah ]h"]h$]h&]refid printk-delayuh1hhjP ubah}(h]h ]h"]h$]h&]uh1hhjM ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hprintk_ratelimit}(hju hhhNhNubah}(h]id76ah ]h"]h$]h&]refidprintk-ratelimituh1hhjr ubah}(h]h ]h"]h$]h&]uh1hhjo ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hprintk_ratelimit_burst}(hj hhhNhNubah}(h]id77ah ]h"]h$]h&]refidprintk-ratelimit-burstuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hprintk_devkmsg}(hj hhhNhNubah}(h]id78ah ]h"]h$]h&]refidprintk-devkmsguh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpty}(hj hhhNhNubah}(h]id79ah ]h"]h$]h&]refidptyuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hrandom}(hj hhhNhNubah}(h]id80ah ]h"]h$]h&]refidrandomuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hrandomize_va_space}(hj hhhNhNubah}(h]id81ah ]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}(hjA hhhNhNubah}(h]id82ah ]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)}(hjc hhhNhNubah}(h]id83ah ]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}(hj hhhNhNubah}(h]id84ah ]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}(hj hhhNhNubah}(h]id85ah ]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]id86ah ]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]id87ah ]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]id88ah ]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]id89ah ]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}(hjQ hhhNhNubah}(h]id90ah ]h"]h$]h&]refidseccompuh1hhjN ubah}(h]h ]h"]h$]h&]uh1hhjK ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h sg-big-buff}(hjs hhhNhNubah}(h]id91ah ]h"]h$]h&]refid sg-big-buffuh1hhjp ubah}(h]h ]h"]h$]h&]uh1hhjm ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshmall}(hj hhhNhNubah}(h]id92ah ]h"]h$]h&]refidshmalluh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshmmax}(hj hhhNhNubah}(h]id93ah ]h"]h$]h&]refidshmmaxuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshmmni}(hj hhhNhNubah}(h]id94ah ]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]id95ah ]h"]h$]h&]refidshm-rmid-forceduh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsysctl_writes_strict}(hjhhhNhNubah}(h]id96ah ]h"]h$]h&]refidsysctl-writes-strictuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsoftlockup_all_cpu_backtrace}(hj?hhhNhNubah}(h]id97ah ]h"]h$]h&]refidsoftlockup-all-cpu-backtraceuh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsoftlockup_panic}(hjahhhNhNubah}(h]id98ah ]h"]h$]h&]refidsoftlockup-panicuh1hhj^ubah}(h]h ]h"]h$]h&]uh1hhj[ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h soft_watchdog}(hjhhhNhNubah}(h]id99ah ]h"]h$]h&]refid soft-watchdoguh1hhjubah}(h]h ]h"]h$]h&]uh1hhj}ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsplit_lock_mitigate (x86 only)}(hjhhhNhNubah}(h]id100ah ]h"]h$]h&]refidsplit-lock-mitigate-x86-onlyuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h stack_erasing}(hjhhhNhNubah}(h]id101ah ]h"]h$]h&]refid stack-erasinguh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hstop-a (SPARC only)}(hjhhhNhNubah}(h]id102ah ]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}(hj hhhNhNubah}(h]id103ah ]h"]h$]h&]refidsysrquh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htainted}(hj-hhhNhNubah}(h]id104ah ]h"]h$]h&]refidtainteduh1hhj*ubah}(h]h ]h"]h$]h&]uh1hhj'ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h threads-max}(hjOhhhNhNubah}(h]id105ah ]h"]h$]h&]refid threads-maxuh1hhjLubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htimer_migration}(hjqhhhNhNubah}(h]id106ah ]h"]h$]h&]refidtimer-migrationuh1hhjnubah}(h]h ]h"]h$]h&]uh1hhjkubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htraceoff_on_warning}(hjhhhNhNubah}(h]id107ah ]h"]h$]h&]refidtraceoff-on-warninguh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htracepoint_printk}(hjhhhNhNubah}(h]id108ah ]h"]h$]h&]refidtracepoint-printkuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hunaligned-trap}(hjhhhNhNubah}(h]id109ah ]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]id110ah ]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]id111ah ]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}(hj=hhhNhNubah}(h]id112ah ]h"]h$]h&]refid warn-limituh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hwatchdog}(hj_hhhNhNubah}(h]id113ah ]h"]h$]h&]refidwatchdoguh1hhj\ubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hwatchdog_cpumask}(hjhhhNhNubah}(h]id114ah ]h"]h$]h&]refidwatchdog-cpumaskuh1hhj~ubah}(h]h ]h"]h$]h&]uh1hhj{ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hwatchdog_thresh}(hjhhhNhNubah}(h]id115ah ]h"]h$]h&]refidwatchdog-threshuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhhhNhNubah}(h]contentsah ](contentslocaleh"]contentsah$]h&]uh1jhhhKhhhhubh)}(hhh](h)}(haccth]hacct}(hjhhhNhNubah}(h]h ]h"]h$]h&]refidjuh1hhjhhhhhK!ubh literal_block)}(hhighwater lowwater frequencyh]hhighwater lowwater frequency}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhK%hjhhubh)}(hXTIf BSD-style process accounting is enabled these values control its behaviour. If free space on filesystem where the log lives goes below ``lowwater``\ % accounting suspends. If free space gets above ``highwater``\ % accounting resumes. ``frequency`` determines how often do we check the amount of free space (value is in seconds). Default:h](hIf BSD-style process accounting is enabled these values control its behaviour. If free space on filesystem where the log lives goes below }(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}(hj hhhNhNubah}(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}hj5sbah}(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.}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK2hjhhubeh}(h]jah ]h"]acctah$]h&]uh1hhhhhhhhK!ubh)}(hhh](h)}(hacpi_video_flagsh]hacpi_video_flags}(hj[hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjXhhhhhK8ubh)}(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 }(hjihhhNhNubj4)}(h``acpi_sleep``h]h acpi_sleep}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjiubh5 kernel parameter, by combining the following values:}(hjihhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK:hjXhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h1h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs3_biosh]hs3_bios}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h2h]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs3_modeh]hs3_mode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h4h]h4}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhj#ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hs3_beeph]hs3_beep}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhj:ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjXhhhhhNubeh}(h]jah ]h"]acpi_video_flagsah$]h&]uh1hhhhhhhhK8ubh)}(hhh](h)}(harchh]harch}(hjthhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjqhhhhhKEubh)}(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 }(hjhhhNhNubj4)}(h ``uname -m``h]huname -m}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh (e.g. }(hjhhhNhNubj4)}(h ``x86_64``h]hx86_64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh or }(hjhhhNhNubj4)}(h ``aarch64``h]haarch64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh).}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKGhjqhhubeh}(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)}(hj hhhNhNubah}(h]h ]h"]h$]h&]jj2uh1hhj hhhhhKWubh)}(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}(hj"hhhNhNubah}(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&]uh1hhhhKYhj hhubh)}(hxSee the ``type_of_loader`` and ``ext_loader_type`` fields in Documentation/arch/x86/boot.rst for additional information.h](hSee the }(hj:hhhNhNubj4)}(h``type_of_loader``h]htype_of_loader}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj:ubh and }(hj:hhhNhNubj4)}(h``ext_loader_type``h]hext_loader_type}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj:ubhF fields in Documentation/arch/x86/boot.rst for additional information.}(hj:hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKahj hhubeh}(h]j8ah ]h"]bootloader_type (x86 only)ah$]h&]uh1hhhhhhhhKWubh)}(hhh](h)}(hbootloader_version (x86 only)h]hbootloader_version (x86 only)}(hjvhhhNhNubah}(h]h ]h"]h$]h&]jjTuh1hhjshhhhhKfubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhjshhubh)}(hwSee the ``type_of_loader`` and ``ext_loader_ver`` 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_ver``h]hext_loader_ver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubhF fields in Documentation/arch/x86/boot.rst for additional information.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKkhjshhubeh}(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&]uh1hhhhKrhjhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h0h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h#Don't collect statistics (default).h]h%Don’t collect statistics (default).}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhj3ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjSubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hCollect statistics.h]hCollect statistics.}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjiubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]j|ah ]h"]bpf_stats_enabledah$]h&]uh1hhhhhhhhKpubh)}(hhh](h)}(hcad_pidh]hcad_pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhK~ubh)}(hThis is the pid which will be signalled on reboot (notably, by Ctrl-Alt-Delete). Writing a value to this file which doesn't correspond to a running process will result in ``-ESRCH``.h](hThis is the pid which will be signalled on reboot (notably, by Ctrl-Alt-Delete). Writing a value to this file which doesn’t correspond to a running process will result in }(hjhhhNhNubj4)}(h ``-ESRCH``h]h-ESRCH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hSee also `ctrl-alt-del`_.h](h See also }(hjhhhNhNubh)}(h`ctrl-alt-del`_h]h ctrl-alt-del}(hjhhhNhNubah}(h]h ]h"]h$]h&]name ctrl-alt-deljjjuh1hhjjKubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]jah ]h"]cad_pidah$]h&]uh1hhhhhhhhK~ubh)}(hhh](h)}(h cap_last_caph]h cap_last_cap}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhKubh)}(hZHighest valid capability of the running kernel. Exports ``CAP_LAST_CAP`` from the kernel.h](h9Highest valid capability of the running kernel. Exports }(hj hhhNhNubj4)}(h``CAP_LAST_CAP``h]h CAP_LAST_CAP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ubh from the kernel.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubhtarget)}(h.. _core_pattern:h]h}(h]h ]h"]h$]h&]jjuh1j+hKhjhhhh referencedKubeh}(h]jah ]h"] cap_last_capah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h core_patternh]h core_pattern}(hjBhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj?hhhhhKubh)}(hA``core_pattern`` is used to specify a core dumpfile pattern name.h](j4)}(h``core_pattern``h]h core_pattern}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjPubh1 is used to specify a core dumpfile pattern name.}(hjPhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj?hhubj)}(hhh](j)}(h2max length 127 characters; default value is "core"h]h)}(hjqh]h6max length 127 characters; default value is “core”}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjoubah}(h]h ]h"]h$]h&]uh1jhjlhhhhhNubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh is used as a pattern template for the output filename; certain string patterns (beginning with ‘%’) are substituted with their actual values.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjlhhhhhNubj)}(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 }(hjhhhNhNubj4)}(h``core_uses_pid``h]h core_uses_pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubh block_quote)}(hIf ``core_pattern`` does not include "%p" (default does not) and ``core_uses_pid`` is set, then .PID will be appended to the filename. h]h)}(hIf ``core_pattern`` does not include "%p" (default does not) and ``core_uses_pid`` is set, then .PID will be appended to the filename.h](hIf }(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&]uh1jhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhjlhhhhhNubj)}(hXCcorename format specifiers ======== ========================================== % '%' is dropped %% output one '%' %p pid %P global pid (init PID namespace) %i tid %I global tid (init PID namespace) %u uid (in initial user namespace) %g gid (in initial user namespace) %d dump mode, matches ``PR_SET_DUMPABLE`` and ``/proc/sys/fs/suid_dumpable`` %s signal number %t UNIX time of dump %h hostname %e executable filename (may be shortened, could be changed by prctl etc) %f executable filename %E executable path %c maximum size of core file by resource limit RLIMIT_CORE %C CPU the task ran on %F pidfd number % both are dropped ======== ========================================== h](h)}(hcorename format specifiersh]hcorename format specifiers}(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 %F pidfd number % both are dropped ======== ========================================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj-ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKEuh1jhj-ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h%h]h%}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjJubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(h'%' is droppedh]h‘%’ is dropped}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjaubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%%h]h%%}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(houtput one '%'h]houtput one ‘%’}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%ph]h%p}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpidh]hpid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%Ph]h%P}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hglobal pid (init PID namespace)h]hglobal pid (init PID namespace)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%ih]h%i}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj&ubah}(h]h ]h"]h$]h&]uh1jhj#ubj)}(hhh]h)}(htidh]htid}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj=ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%Ih]h%I}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj]ubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hglobal tid (init PID namespace)h]hglobal tid (init PID namespace)}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjtubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%uh]h%u}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(huid (in initial user namespace)h]huid (in initial user namespace)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%gh]h%g}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hgid (in initial user namespace)h]hgid (in initial user namespace)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%dh]h%d}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hIdump mode, matches ``PR_SET_DUMPABLE`` and ``/proc/sys/fs/suid_dumpable``h](hdump mode, matches }(hjhhhNhNubj4)}(h``PR_SET_DUMPABLE``h]hPR_SET_DUMPABLE}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh and }(hjhhhNhNubj4)}(h``/proc/sys/fs/suid_dumpable``h]h/proc/sys/fs/suid_dumpable}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%sh]h%s}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjYubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(h signal numberh]h signal number}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjpubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%th]h%t}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hUNIX time of dumph]hUNIX time of dump}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%hh]h%h}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhostnameh]hhostname}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%eh]h%e}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hEexecutable filename (may be shortened, could be changed by prctl etc)h]hEexecutable filename (may be shortened, could be changed by prctl etc)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%fh]h%f}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hexecutable filenameh]hexecutable filename}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjLubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%Eh]h%E}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjlubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(hexecutable pathh]hexecutable path}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjiubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%ch]h%c}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h7maximum size of core file by resource limit RLIMIT_COREh]h7maximum size of core file by resource limit RLIMIT_CORE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%Ch]h%C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hCPU the task ran onh]hCPU the task ran on}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%Fh]h%F}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h pidfd numberh]h pidfd number}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h%h]h%}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjHubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(hboth are droppedh]hboth are dropped}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj_ubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]colsKuh1jhj*ubah}(h]h ]h"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]uh1jhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhjlhhhhhNubj)}(hIf the first character of the pattern is a '|', the kernel will treat the rest of the pattern as a command to run. The core dump will be written to the standard input of that program instead of to a file. h]h)}(hIf the first character of the pattern is a '|', the kernel will treat the rest of the pattern as a command to run. The core dump will be written to the standard input of that program instead of to a file.h]hIf the first character of the pattern is a ‘|’, the kernel will treat the rest of the pattern as a command to run. The core dump will be written to the standard input of that program instead of to a file.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjlhhhhhNubeh}(h]h ]h"]h$]h&]bullet*uh1jhhhKhj?hhubeh}(h](jid1eh ]h"] core_patternah$] core_patternah&]uh1hhhhhhhhKj7Kexpect_referenced_by_name}jj-sexpect_referenced_by_id}jj-subh)}(hhh](h)}(hcore_pipe_limith]hcore_pipe_limit}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhKubh)}(hXThis sysctl is only applicable when `core_pattern`_ is configured to pipe core files to a user space helper (when the first character of ``core_pattern`` is a '|', see above). When collecting cores via a pipe to an application, it is occasionally useful for the collecting application to gather data about the crashing process from its ``/proc/pid`` directory. In order to do this safely, the kernel must wait for the collecting process to exit, so as not to remove the crashing processes proc files prematurely. This in turn creates the possibility that a misbehaving userspace collecting process can block the reaping of a crashed process simply by never exiting. This sysctl defends against that. It defines how many concurrent crashing processes may be piped to user space applications in parallel. If this value is exceeded, then those crashing processes above that value are noted via the kernel log and their cores are skipped. 0 is a special value, indicating that unlimited processes may be captured in parallel, but that no waiting will take place (i.e. the collecting process is not guaranteed access to ``/proc//``). This value defaults to 0.h](h$This sysctl is only applicable when }(hjhhhNhNubh)}(h`core_pattern`_h]h core_pattern}(hjhhhNhNubah}(h]h ]h"]h$]h&]name core_patternjjuh1hhjjKubhV is configured to pipe core files to a user space helper (when the first character of }(hjhhhNhNubj4)}(h``core_pattern``h]h core_pattern}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh 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 }(hjhhhNhNubj4)}(h ``/proc/pid``h]h /proc/pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubhX 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 }(hjhhhNhNubj4)}(h``/proc//``h]h/proc//}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh). This value defaults to 0.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]jah ]h"]core_pipe_limitah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h core_sort_vmah]h core_sort_vma}(hj;hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj8hhhhhKubh)}(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 }(hjIhhhNhNubj4)}(h``core_sort_vma``h]h core_sort_vma}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjIubh 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.}(hjIhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj8hhubeh}(h]j&ah ]h"] core_sort_vmaah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h core_uses_pidh]h core_uses_pid}(hjshhhNhNubah}(h]h ]h"]h$]h&]jjBuh1hhjphhhhhKubh)}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh4 is set, then .PID will be appended to the filename.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjphhubeh}(h]jHah ]h"] core_uses_pidah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h ctrl-alt-delh]h ctrl-alt-del}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjduh1hhjhhhhhKubh)}(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 }(hjhhhNhNubj4)}(h ``init(1)``h]hinit(1)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh program to handle a graceful restart. When, however, the value is > 0, Linux’s reaction to a Vulcan Nerve Pinch (tm) will be an immediate reboot, without even syncing its dirty buffers.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubhdefinition_list)}(hhh]hdefinition_list_item)}(hNote: when a program (like dosemu) has the keyboard in 'raw' mode, the ctrl-alt-del is intercepted by the program before it ever reaches the kernel tty layer, and it's up to the program to decide what to do with it. h](hterm)}(hNote:h]hNote:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhjubh 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&]uh1jhjhhhhhNubeh}(h]jjah ]h"] ctrl-alt-delah$]h&]uh1hhhhhhhhKj7Kubh)}(hhh](h)}(hdmesg_restricth]hdmesg_restrict}(hjIhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjFhhhhhKubh)}(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 }(hjWhhhNhNubj4)}(h ``dmesg(8)``h]hdmesg(8)}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjWubh7 to view messages from the kernel’s log buffer. When }(hjWhhhNhNubj4)}(h``dmesg_restrict``h]hdmesg_restrict}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjWubh- is set to 0 there are no restrictions. When }(hjWhhhNhNubj4)}(h``dmesg_restrict``h]hdmesg_restrict}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjWubh is set to 1, users must have }(hjWhhhNhNubj4)}(h``CAP_SYSLOG``h]h CAP_SYSLOG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjWubh to use }(hjWhhhNhNubj4)}(h ``dmesg(8)``h]hdmesg(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjWubh.}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(hiThe kernel config option ``CONFIG_SECURITY_DMESG_RESTRICT`` sets the default value of ``dmesg_restrict``.h](hThe kernel config option }(hjhhhNhNubj4)}(h"``CONFIG_SECURITY_DMESG_RESTRICT``h]hCONFIG_SECURITY_DMESG_RESTRICT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh sets the default value of }(hjhhhNhNubj4)}(h``dmesg_restrict``h]hdmesg_restrict}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubeh}(h]jah ]h"]dmesg_restrictah$]h&]uh1hhhhhhhhKj7Kubh)}(hhh](h)}(hdomainname & hostnameh]hdomainname & hostname}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhM ubh)}(hThese files can be used to set the NIS/YP domainname and the hostname of your box in exactly the same way as the commands domainname and hostname, i.e.::h]hThese files can be used to set the NIS/YP domainname and the hostname of your box in exactly the same way as the commands domainname and hostname, i.e.:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h]# echo "darkstar" > /proc/sys/kernel/hostname # echo "mydomain" > /proc/sys/kernel/domainnameh]h]# echo "darkstar" > /proc/sys/kernel/hostname # echo "mydomain" > /proc/sys/kernel/domainname}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhMhjhhubh)}(hhas the same effect as::h]hhas the same effect as:}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h-# hostname "darkstar" # domainname "mydomain"h]h-# hostname "darkstar" # domainname "mydomain"}hj3sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhjhhubh)}(hXVNote, however, that the classic darkstar.frop.org has the hostname "darkstar" and DNS (Internet Domain Name Server) domainname "frop.org", not to be confused with the NIS (Network Information Service) or YP (Yellow Pages) domainname. These two domain names are in general different. For a detailed discussion see the ``hostname(1)`` man page.h](hXENote, however, that the classic darkstar.frop.org has the hostname “darkstar” and DNS (Internet Domain Name Server) domainname “frop.org”, not to be confused with the NIS (Network Information Service) or YP (Yellow Pages) domainname. These two domain names are in general different. For a detailed discussion see the }(hjAhhhNhNubj4)}(h``hostname(1)``h]h hostname(1)}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjAubh man page.}(hjAhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]jah ]h"]domainname & hostnameah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(hfirmware_configh]hfirmware_config}(hjkhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhhM#ubh)}(h>See Documentation/driver-api/firmware/fallback-mechanisms.rst.h]h>See Documentation/driver-api/firmware/fallback-mechanisms.rst.}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjhhhubh)}(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:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjhhhubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh0, when set to 1, forces the use of the fallback;}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM*hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hA``ignore_sysfs_fallback``, when set to 1, ignores any fallback. h]h)}(h?``ignore_sysfs_fallback``, when set to 1, ignores any fallback.h](j4)}(h``ignore_sysfs_fallback``h]hignore_sysfs_fallback}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh&, when set to 1, ignores any fallback.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM,hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]jjuh1jhhhM*hjhhhubeh}(h]jah ]h"]firmware_configah$]h&]uh1hhhhhhhhM#ubh)}(hhh](h)}(hftrace_dump_on_oopsh]hftrace_dump_on_oops}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhM0ubh)}(hDetermines whether ``ftrace_dump()`` should be called on an oops (or kernel panic). This will output the contents of the ftrace buffers to the console. This is very useful for capturing traces that lead to crashes and outputting them to a serial console.h](hDetermines whether }(hjhhhNhNubj4)}(h``ftrace_dump()``h]h ftrace_dump()}(hj hhhNhNubah}(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&]uh1hhhhM2hjhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj%ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK.uh1jhj%ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjBubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(hDisabled (default).h]hDisabled (default).}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjXubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hjxubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(hhh]h)}(hDump buffers of all CPUs.h]hDump buffers of all CPUs.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hjubah}(h]h ]h"]h$]h&]uh1jhjuubeh}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh](j)}(hhh]h)}(h 2(orig_cpu)h]h 2(orig_cpu)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h3Dump the buffer of the CPU that triggered the oops.h]h3Dump the buffer of the CPU that triggered the oops.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh](j)}(hhh]h)}(h h]h }(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h.Dump the specific instance buffer on all CPUs.h]h.Dump the specific instance buffer on all CPUs.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh](j)}(hhh]h)}(h=2(orig_cpu)h]h=2(orig_cpu)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM=hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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.}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM=hj3ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]colsKuh1jhj"ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(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.}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhjhhubh)}(hNSo for example to dump "foo" and "bar" instance buffer on all CPUs, user can::h]hUSo for example to dump “foo” and “bar” instance buffer on all CPUs, user can:}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjhhubj)}(h5echo "foo,bar" > /proc/sys/kernel/ftrace_dump_on_oopsh]h5echo "foo,bar" > /proc/sys/kernel/ftrace_dump_on_oops}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhMHhjhhubh)}(hTo dump global buffer and "foo" instance buffer on all CPUs along with the "bar" instance buffer on CPU that triggered the oops, user can::h]hTo dump global buffer and “foo” instance buffer on all CPUs along with the “bar” instance buffer on CPU that triggered the oops, user can:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhjhhubj)}(h9echo "1,foo,bar=2" > /proc/sys/kernel/ftrace_dump_on_oopsh]h9echo "1,foo,bar=2" > /proc/sys/kernel/ftrace_dump_on_oops}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhMNhjhhubeh}(h]jah ]h"]ftrace_dump_on_oopsah$]h&]uh1hhhhhhhhM0ubh)}(hhh](h)}(h$ftrace_enabled, stack_tracer_enabledh]h$ftrace_enabled, stack_tracer_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjhhhhhMQubh)}(h#See Documentation/trace/ftrace.rst.h]h#See Documentation/trace/ftrace.rst.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjhhubeh}(h]jah ]h"]$ftrace_enabled, stack_tracer_enabledah$]h&]uh1hhhhhhhhMQubh)}(hhh](h)}(hhardlockup_all_cpu_backtraceh]hhardlockup_all_cpu_backtrace}(hjhhhNhNubah}(h]h ]h"]h$]h&]jj0uh1hhjhhhhhMWubh)}(hThis value controls the hard lockup detector behavior when a hard lockup condition is detected as to whether or not to gather further debug information. If enabled, arch-specific all-CPU stack dumping will be initiated.h]hThis value controls the hard lockup detector behavior when a hard lockup condition is detected as to whether or not to gather further debug information. If enabled, arch-specific all-CPU stack dumping will be initiated.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhjhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h)Do nothing. This is the default behavior.h]h)Do nothing. This is the default behavior.}(hj. hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj+ ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjN hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjK ubah}(h]h ]h"]h$]h&]uh1jhjH ubj)}(hhh]h)}(h,On detection capture more debug information.h]h,On detection capture more debug information.}(hjd hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hja ubah}(h]h ]h"]h$]h&]uh1jhjH ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]j6ah ]h"]hardlockup_all_cpu_backtraceah$]h&]uh1hhhhhhhhMWubh)}(hhh](h)}(hhardlockup_panich]hhardlockup_panic}(hj hhhNhNubah}(h]h ]h"]h$]h&]jjRuh1hhj hhhhhMeubh)}(h_This parameter can be used to control whether the kernel panics when a hard lockup is detected.h]h_This parameter can be used to control whether the kernel panics when a hard lockup is detected.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghj hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hDon't panic on hard lockup.h]hDon’t panic on hard lockup.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj !ubah}(h]h ]h"]h$]h&]uh1jhj !ubj)}(hhh]h)}(hPanic on hard lockup.h]hPanic on hard lockup.}(hj&!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj#!ubah}(h]h ]h"]h$]h&]uh1jhj !ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj 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.}(hjS!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohj hhubeh}(h]jXah ]h"]hardlockup_panicah$]h&]uh1hhhhhhhhMeubh)}(hhh](h)}(hhotplugh]hhotplug}(hjk!hhhNhNubah}(h]h ]h"]h$]h&]jjtuh1hhjh!hhhhhMtubh)}(h~Path for the hotplug policy agent. Default value is ``CONFIG_UEVENT_HELPER_PATH``, which in turn defaults to the empty string.h](h4Path for the hotplug policy agent. Default value is }(hjy!hhhNhNubj4)}(h``CONFIG_UEVENT_HELPER_PATH``h]hCONFIG_UEVENT_HELPER_PATH}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjy!ubh-, which in turn defaults to the empty string.}(hjy!hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMvhjh!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&]uh1hhhhMzhjh!hhubeh}(h]jzah ]h"]hotplugah$]h&]uh1hhhhhhhhMtubh)}(hhh](h)}(hhung_task_all_cpu_backtraceh]hhung_task_all_cpu_backtrace}(hj!hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj!hhhhhMubh)}(hIf this option is set, the kernel will send an NMI to all CPUs to dump their backtraces when a hung task is detected. This file shows up if CONFIG_DETECT_HUNG_TASK and CONFIG_SMP are enabled.h]hIf this option is set, the kernel will send an NMI to all CPUs to dump their backtraces when a hung task is detected. This file shows up if CONFIG_DETECT_HUNG_TASK and CONFIG_SMP are enabled.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!hhubh)}(h]0: Won't show all CPUs backtraces when a hung task is detected. This is the default behavior.h]h_0: Won’t show all CPUs backtraces when a hung task is detected. This is the default behavior.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!hhubh)}(h_1: Will non-maskably interrupt all CPUs and dump their backtraces when a hung task is detected.h]h_1: Will non-maskably interrupt all CPUs and dump their backtraces when a hung task is detected.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!hhubeh}(h]jah ]h"]hung_task_all_cpu_backtraceah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hhung_task_panich]hhung_task_panic}(hj"hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj"hhhhhMubh)}(hWhen set to a non-zero value, a kernel panic will be triggered if the number of hung tasks found during a single scan reaches this value. This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.h](hWhen set to a non-zero value, a kernel panic will be triggered if the number of hung tasks found during a single scan reaches this value. This file shows up if }(hj"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"hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj6"ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK7uh1jhj6"ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hjV"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjS"ubah}(h]h ]h"]h$]h&]uh1jhjP"ubj)}(hhh]h)}(h1Continue operation. This is the default behavior.h]h1Continue operation. This is the default behavior.}(hjl"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhji"ubah}(h]h ]h"]h$]h&]uh1jhjP"ubeh}(h]h ]h"]h$]h&]uh1jhjM"ubj)}(hhh](j)}(hhh]h)}(hNh]hN}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(h7Panic when N hung tasks are found during a single scan.h]h7Panic when N hung tasks are found during a single scan.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhjM"ubeh}(h]h ]h"]h$]h&]uh1jhj6"ubeh}(h]h ]h"]h$]h&]colsKuh1jhj3"ubah}(h]h ]h"]h$]h&]uh1jhj"hhhhhNubeh}(h]jah ]h"]hung_task_panicah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hhung_task_check_counth]hhung_task_check_count}(hj"hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj"hhhhhMubh)}(hvThe upper bound on the number of tasks that are checked. This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.h](hOThe upper bound on the number of tasks that are checked. This file shows up if }(hj"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_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}(hj6#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_sys_infoh]hhung_task_sys_info}(hjX#hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjU#hhhhhMubh)}(hA comma separated list of extra system information to be dumped when hung task is detected, for example, "tasks,mem,timers,locks,...". Refer 'panic_sys_info' section below for more details.h]hA comma separated list of extra system information to be dumped when hung task is detected, for example, “tasks,mem,timers,locks,...”. Refer ‘panic_sys_info’ section below for more details.}(hjf#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjU#hhubeh}(h]j$ah ]h"]hung_task_sys_infoah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hhung_task_timeout_secsh]hhung_task_timeout_secs}(hj~#hhhNhNubah}(h]h ]h"]h$]h&]jj@uh1hhj{#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%ubah}(h]h ]h"]h$]h&]uh1jhj%%ubeh}(h]h ]h"]h$]h&]uh1jhj"%ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hja%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj^%ubah}(h]h ]h"]h$]h&]uh1jhj[%ubj)}(hhh]h)}(h9Report the panic kmsg data. This is the default behavior.h]h9Report the panic kmsg data. This is the default behavior.}(hjw%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjt%ubah}(h]h ]h"]h$]h&]uh1jhj[%ubeh}(h]h ]h"]h$]h&]uh1jhj"%ubeh}(h]h ]h"]h$]h&]uh1jhj %ubeh}(h]h ]h"]h$]h&]colsKuh1jhj%ubah}(h]h ]h"]h$]h&]uh1jhj$hhhhhNubeh}(h]jah ]h"]hyperv_record_panic_msgah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hignore-unaligned-usertraph]hignore-unaligned-usertrap}(hj%hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj%hhhhhMubh)}(hOn architectures where unaligned accesses cause traps, and where this feature is supported (``CONFIG_SYSCTL_ARCH_UNALIGN_NO_WARN``; currently, ``arc``, ``parisc`` and ``loongarch``), controls whether all unaligned traps are logged.h](h\On architectures where unaligned accesses cause traps, and where this feature is supported (}(hj%hhhNhNubj4)}(h&``CONFIG_SYSCTL_ARCH_UNALIGN_NO_WARN``h]h"CONFIG_SYSCTL_ARCH_UNALIGN_NO_WARN}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj%ubh ; currently, }(hj%hhhNhNubj4)}(h``arc``h]harc}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj%ubh, }(hj%hhhNhNubj4)}(h ``parisc``h]hparisc}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj%ubh and }(hj%hhhNhNubj4)}(h ``loongarch``h]h loongarch}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj%ubh3), controls whether all unaligned traps are logged.}(hj%hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj%hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj&ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK=uh1jhj&ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hj5&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2&ubah}(h]h ]h"]h$]h&]uh1jhj/&ubj)}(hhh]h)}(hLog all unaligned accesses.h]hLog all unaligned accesses.}(hjK&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjH&ubah}(h]h ]h"]h$]h&]uh1jhj/&ubeh}(h]h ]h"]h$]h&]uh1jhj,&ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjk&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjh&ubah}(h]h ]h"]h$]h&]uh1jhje&ubj)}(hhh]h)}(hFOnly warn the first time a process traps. This is the default setting.h]hFOnly warn the first time a process traps. This is the default setting.}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~&ubah}(h]h ]h"]h$]h&]uh1jhje&ubeh}(h]h ]h"]h$]h&]uh1jhj,&ubeh}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]colsKuh1jhj&ubah}(h]h ]h"]h$]h&]uh1jhj%hhhhhNubh)}(hSee also `unaligned-trap`_.h](h See also }(hj&hhhNhNubh)}(h`unaligned-trap`_h]hunaligned-trap}(hj&hhhNhNubah}(h]h ]h"]h$]h&]nameunaligned-trapjjuh1hhj&jKubh.}(hj&hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj%hhubeh}(h]jah ]h"]ignore-unaligned-usertrapah$]h&]uh1hhhhhhhhMj7Kubh)}(hhh](h)}(hio_uring_disabledh]hio_uring_disabled}(hj&hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj&hhhhhMubh)}(hoPrevents all processes from creating new io_uring instances. Enabling this shrinks the kernel's attack surface.h]hqPrevents all processes from creating new io_uring instances. Enabling this shrinks the kernel’s attack surface.}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj&ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKFuh1jhj&ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hSAll processes can create io_uring instances as normal. This is the default setting.h]hSAll processes can create io_uring instances as normal. This is the default setting.}(hj/'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,'ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjO'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjL'ubah}(h]h ]h"]h$]h&]uh1jhjI'ubj)}(hhh]h)}(hio_uring creation is disabled (io_uring_setup() will fail with -EPERM) for unprivileged processes not in the io_uring_group group. Existing io_uring instances can still be used. See the documentation for io_uring_group for more information.h]hio_uring creation is disabled (io_uring_setup() will fail with -EPERM) for unprivileged processes not in the io_uring_group group. Existing io_uring instances can still be used. See the documentation for io_uring_group for more information.}(hje'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjb'ubah}(h]h ]h"]h$]h&]uh1jhjI'ubeh}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hio_uring creation is disabled for all processes. io_uring_setup() always fails with -EPERM. Existing io_uring instances can still be used.h]hio_uring creation is disabled for all processes. io_uring_setup() always fails with -EPERM. Existing io_uring instances can still be used.}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]colsKuh1jhj&ubah}(h]h ]h"]h$]h&]uh1jhj&hhhhhNubeh}(h]jah ]h"]io_uring_disabledah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hio_uring_grouph]hio_uring_group}(hj'hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj'hhhhhMubh)}(hX!When io_uring_disabled is set to 1, a process must either be privileged (CAP_SYS_ADMIN) or be in the io_uring_group group in order to create an io_uring instance. If io_uring_group is set to -1 (the default), only processes with the CAP_SYS_ADMIN capability may create io_uring instances.h]hX!When io_uring_disabled is set to 1, a process must either be privileged (CAP_SYS_ADMIN) or be in the io_uring_group group in order to create an io_uring instance. If io_uring_group is set to -1 (the default), only processes with the CAP_SYS_ADMIN capability may create io_uring instances.}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'hhubeh}(h]jah ]h"]io_uring_groupah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hkernel_sys_infoh]hkernel_sys_info}(hj'hhhNhNubah}(h]h ]h"]h$]h&]jj.uh1hhj'hhhhhM ubh)}(hA comma separated list of extra system information to be dumped when soft/hard lockup is detected, for example, "tasks,mem,timers,locks,...". Refer 'panic_sys_info' section below for more details.h]hA comma separated list of extra system information to be dumped when soft/hard lockup is detected, for example, “tasks,mem,timers,locks,...”. Refer ‘panic_sys_info’ section below for more details.}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'hhubh)}(h}It serves as the default kernel control knob, which will take effect when a kernel module calls sys_info() with parameter==0.h]h}It serves as the default kernel control knob, which will take effect when a kernel module calls sys_info() with parameter==0.}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'hhubeh}(h]j4ah ]h"]kernel_sys_infoah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(hkexec_load_disabledh]hkexec_load_disabled}(hj,(hhhNhNubah}(h]h ]h"]h$]h&]jjPuh1hhj)(hhhhhMubh)}(hXA toggle indicating if the syscalls ``kexec_load`` and ``kexec_file_load`` have been disabled. This value defaults to 0 (false: ``kexec_*load`` enabled), but can be set to 1 (true: ``kexec_*load`` disabled). Once true, kexec can no longer be used, and the toggle cannot be set back to false. This allows a kexec image to be loaded before disabling the syscall, allowing a system to set up (and later use) an image without it being altered. Generally used together with the `modules_disabled`_ sysctl.h](h$A toggle indicating if the syscalls }(hj:(hhhNhNubj4)}(h``kexec_load``h]h kexec_load}(hjB(hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj:(ubh and }(hj:(hhhNhNubj4)}(h``kexec_file_load``h]hkexec_file_load}(hjT(hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj:(ubh6 have been disabled. This value defaults to 0 (false: }(hj:(hhhNhNubj4)}(h``kexec_*load``h]h kexec_*load}(hjf(hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj:(ubh& enabled), but can be set to 1 (true: }(hj:(hhhNhNubj4)}(h``kexec_*load``h]h kexec_*load}(hjx(hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj:(ubhX disabled). Once true, kexec can no longer be used, and the toggle cannot be set back to false. This allows a kexec image to be loaded before disabling the syscall, allowing a system to set up (and later use) an image without it being altered. Generally used together with the }(hj:(hhhNhNubh)}(h`modules_disabled`_h]hmodules_disabled}(hj(hhhNhNubah}(h]h ]h"]h$]h&]namemodules_disabledjj"uh1hhj:(jKubh sysctl.}(hj:(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj)(hhubeh}(h]jVah ]h"]kexec_load_disabledah$]h&]uh1hhhhhhhhMj7Kubh)}(hhh](h)}(hkexec_load_limit_panich]hkexec_load_limit_panic}(hj(hhhNhNubah}(h]h ]h"]h$]h&]jjruh1hhj(hhhhhM$ubh)}(hThis parameter specifies a limit to the number of times the syscalls ``kexec_load`` and ``kexec_file_load`` can be called with a crash image. It can only be set with a more restrictive value than the current one.h](hEThis parameter specifies a limit to the number of times the syscalls }(hj(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&]uh1hhhhM&hj(hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj(ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK6uh1jhj(ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h-1h]h-1}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hj)ubah}(h]h ]h"]h$]h&]uh1jhj )ubj)}(hhh]h)}(h6Unlimited calls to kexec. This is the default setting.h]h6Unlimited calls to kexec. This is the default setting.}(hj()hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hj%)ubah}(h]h ]h"]h$]h&]uh1jhj )ubeh}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh](j)}(hhh]h)}(hj"h]hN}(hjH)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hjE)ubah}(h]h ]h"]h$]h&]uh1jhjB)ubj)}(hhh]h)}(hNumber of calls left.h]hNumber of calls left.}(hj^)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hj[)ubah}(h]h ]h"]h$]h&]uh1jhjB)ubeh}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]colsKuh1jhj(ubah}(h]h ]h"]h$]h&]uh1jhj(hhhhhNubeh}(h]jxah ]h"]kexec_load_limit_panicah$]h&]uh1hhhhhhhhM$ubh)}(hhh](h)}(hkexec_load_limit_rebooth]hkexec_load_limit_reboot}(hj)hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj)hhhhhM1ubh)}(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&]uh1hhhhM3hj)hhubeh}(h]jah ]h"]kexec_load_limit_rebootah$]h&]uh1hhhhhhhhM1ubh)}(hhh](h)}(h kptr_restricth]h kptr_restrict}(hj)hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj)hhhhhM7ubh)}(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&]uh1hhhhM9hj)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 }(hj*hhhNhNubj4)}(h``kptr_restrict``h]h kptr_restrict}(hj#*hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj*ubhr is set to 1, kernel pointers printed using the %pK format specifier will be replaced with 0s unless the user has }(hj*hhhNhNubj4)}(h``CAP_SYSLOG``h]h CAP_SYSLOG}(hj5*hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj*ubhX and effective user and group ids are equal to the real ids. This is because %pK checks are done at read() time rather than open() time, so if permissions are elevated between the open() and the read() (e.g via a setuid binary) then %pK will not leak kernel pointers to unprivileged users. Note, this is a temporary solution only. The correct long-term solution is to do the permission checks at open() time. Consider removing world read permissions from files that use %pK, and using }(hj*hhhNhNubh)}(h`dmesg_restrict`_h]hdmesg_restrict}(hjG*hhhNhNubah}(h]h ]h"]h$]h&]namedmesg_restrictjjuh1hhj*jKubh# to protect against uses of %pK in }(hj*hhhNhNubj4)}(h ``dmesg(8)``h]hdmesg(8)}(hj[*hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj*ubhE if leaking kernel pointer values to unprivileged users is a concern.}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM@hj)hhubh)}(hxWhen ``kptr_restrict`` is set to 2, kernel pointers printed using %pK will be replaced with 0s regardless of privileges.h](hWhen }(hjs*hhhNhNubj4)}(h``kptr_restrict``h]h kptr_restrict}(hj{*hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjs*ubhb is set to 2, kernel pointers printed using %pK will be replaced with 0s regardless of privileges.}(hjs*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMOhj)hhubeh}(h]jah ]h"] kptr_restrictah$]h&]uh1hhhhhhhhM7ubh)}(hhh](h)}(h)softlockup_sys_info & hardlockup_sys_infoh]h)softlockup_sys_info & hardlockup_sys_info}(hj*hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj*hhhhhMSubh)}(hA comma separated list of extra system information to be dumped when soft/hard lockup is detected, for example, "tasks,mem,timers,locks,...". Refer 'panic_sys_info' section below for more details.h]hA comma separated list of extra system information to be dumped when soft/hard lockup is detected, for example, “tasks,mem,timers,locks,...”. Refer ‘panic_sys_info’ section below for more details.}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj*hhubeh}(h]jah ]h"])softlockup_sys_info & hardlockup_sys_infoah$]h&]uh1hhhhhhhhMSubh)}(hhh](h)}(hmodprobeh]hmodprobe}(hj*hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj*hhhhhMYubh)}(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&]uh1hhhhM[hj*hhubh)}(hkThis sysctl only affects module autoloading. It has no effect on the ability to explicitly insert modules.h]hkThis sysctl only affects module autoloading. It has no effect on the ability to explicitly insert modules.}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchj*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&]uh1hhhhMfhj*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&]hhuh1jhhhMhhj*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&]uh1hhhhMnhj*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&]uh1hhhhMshj*hhubeh}(h]jah ]h"]modprobeah$]h&]uh1hhhhhhhhMYubh)}(hhh](h)}(hmodules_disabledh]hmodules_disabled}(hjA+hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj>+hhhhhMyubh)}(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 }(hjO+hhhNhNubh)}(h`kexec_load_disabled`_h]hkexec_load_disabled}(hjW+hhhNhNubah}(h]h ]h"]h$]h&]namekexec_load_disabledjjVuh1hhjO+jKubh toggle.}(hjO+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM{hj>+hhubj,)}(h .. _msgmni:h]h}(h]h ]h"]h$]h&]jjuh1j+hMhj>+hhhhj7Kubeh}(h]j"ah ]h"]modules_disabledah$]h&]uh1hhhhhhhhMyj7Kubh)}(hhh](h)}(hmsgmax, msgmnb, and msgmnih]hmsgmax, msgmnb, and msgmni}(hj+hhhNhNubah}(h]h ]h"]h$]h&]jj>uh1hhj+hhhhhMubh)}(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&]uh1hhhhMhj+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&]uh1hhhhMhj+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&]uh1hhhhMhj+hhubh)}(hAll of these parameters are set per ipc namespace. The maximum number of bytes in POSIX message queues is limited by ``RLIMIT_MSGQUEUE``. This limit is respected hierarchically in the each user namespace.h](huAll of these parameters are set per ipc namespace. The maximum number of bytes in POSIX message queues is limited by }(hj,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&]uh1hhhhMhj+hhubeh}(h](jDjeh ]h"](msgmax, msgmnb, and msgmnimsgmnieh$]h&]uh1hhhhhhhhMj}jB,jq+sj}jjq+sj7Kubh)}(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)}(hjJ,hhhNhNubah}(h]h ]h"]h$]h&]jj`uh1hhjG,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.}(hjX,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjG,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:}(hjf,hhhNhNubj4)}(h ``INT_MAX``h]hINT_MAX}(hjn,hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjf,ubh}.}(hjf,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjG,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&]uh1j hhhMhj,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&]uh1jhjG,hhhNhNubeh}(h]jfah ]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]jah ]h"] ngroups_maxah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h nmi_watchdogh]h nmi_watchdog}(hjD-hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjA-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.}(hjR-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjA-hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjc-ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhjc-ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj}-ubj)}(hhh]h)}(h!Disable the hard lockup detector.h]h!Disable the hard lockup detector.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj}-ubeh}(h]h ]h"]h$]h&]uh1jhjz-ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(h Enable the hard lockup detector.h]h Enable the hard lockup detector.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjz-ubeh}(h]h ]h"]h$]h&]uh1jhjc-ubeh}(h]h ]h"]h$]h&]colsKuh1jhj`-ubah}(h]h ]h"]h$]h&]uh1jhjA-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&]uh1hhhhMhjA-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&]uh1hhhhMhjA-hhubj)}(hnmi_watchdog=1h]hnmi_watchdog=1}hj.sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhjA-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&]uh1hhhhMhjA-hhubeh}(h]jah ]h"] nmi_watchdogah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hnmi_wd_lpm_factor (PPC only)h]hnmi_wd_lpm_factor (PPC only)}(hj>.hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj;.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 }(hjL.hhhNhNubj4)}(h``nmi_watchdog``h]h nmi_watchdog}(hjT.hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjL.ubh> is set to 1). This factor represents the percentage added to }(hjL.hhhNhNubj4)}(h``watchdog_thresh``h]hwatchdog_thresh}(hjf.hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjL.ubhb when calculating the NMI watchdog timeout during an LPM. The soft lockup timeout is not impacted.}(hjL.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]jah ]h"]nmi_wd_lpm_factor (ppc only)ah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hnuma_balancingh]hnuma_balancing}(hj.hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj.hhhhhMubh)}(hEnables/disables and configures automatic page fault based NUMA memory balancing. Memory is moved automatically to nodes that access it often. The value to set can be the result of ORing the following:h]hEnables/disables and configures automatic page fault based NUMA memory balancing. Memory is moved automatically to nodes that access it often. The value to set can be the result of ORing the following:}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj.ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhj.ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hNUMA_BALANCING_DISABLEDh]hNUMA_BALANCING_DISABLED}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hNUMA_BALANCING_NORMALh]hNUMA_BALANCING_NORMAL}(hj3/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0/ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hjS/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjP/ubah}(h]h ]h"]h$]h&]uh1jhjM/ubj)}(hhh]h)}(hNUMA_BALANCING_MEMORY_TIERINGh]hNUMA_BALANCING_MEMORY_TIERING}(hji/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjf/ubah}(h]h ]h"]h$]h&]uh1jhjM/ubeh}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]colsKuh1jhj.ubah}(h]h ]h"]h$]h&]uh1jhj.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&]jj uh1hhj/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&]jj,uh1hhj/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 0hhhNhNubah}(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.}(hj0hhhNhNubah}(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(0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/hhubeh}(h]j2ah ]h"]oops_all_cpu_backtraceah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h oops_limith]h oops_limit}(hj@0hhhNhNubah}(h]h ]h"]h$]h&]jjNuh1hhj=0hhhhhM ubh)}(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 }(hjN0hhhNhNubj4)}(h``panic_on_oops``h]h panic_on_oops}(hjV0hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjN0ubhn is not set. Setting this to 0 disables checking the count. Setting this to 1 has the same effect as setting }(hjN0hhhNhNubj4)}(h``panic_on_oops=1``h]hpanic_on_oops=1}(hjh0hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjN0ubh. The default value is 10000.}(hjN0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj=0hhubeh}(h]jTah ]h"] oops_limitah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(hosrelease, ostype & versionh]hosrelease, ostype & version}(hj0hhhNhNubah}(h]h ]h"]h$]h&]jjpuh1hhj0hhhhhMubj)}(hW# cat osrelease 2.1.88 # cat ostype Linux # cat version #5 Wed Feb 25 21:49:24 MET 1998h]hW# cat osrelease 2.1.88 # cat ostype Linux # cat version #5 Wed Feb 25 21:49:24 MET 1998}hj0sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj0hhubh)}(hX=The files ``osrelease`` and ``ostype`` should be clear enough. ``version`` needs a little more clarification however. The '#5' means that this is the fifth kernel built from this source base and the date behind it indicates the time the kernel was built. The only way to tune these values is to rebuild the kernel :-)h](h The files }(hj0hhhNhNubj4)}(h ``osrelease``h]h osrelease}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj0ubh and }(hj0hhhNhNubj4)}(h ``ostype``h]hostype}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj0ubh should be clear enough. }(hj0hhhNhNubj4)}(h ``version``h]hversion}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj0ubh needs a little more clarification however. The ‘#5’ means that this is the fifth kernel built from this source base and the date behind it indicates the time the kernel was built. The only way to tune these values is to rebuild the kernel :-)}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM!hj0hhubeh}(h]jvah ]h"]osrelease, ostype & versionah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hoverflowgid & overflowuidh]hoverflowgid & overflowuid}(hj0hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj0hhhhhM*ubh)}(hif your architecture did not always support 32-bit UIDs (i.e. arm, i386, m68k, sh, and sparc32), a fixed UID and GID will be returned to applications that use the old 16-bit UID/GID system calls, if the actual UID or GID would exceed 65535.h]hif your architecture did not always support 32-bit UIDs (i.e. arm, i386, m68k, sh, and sparc32), a fixed UID and GID will be returned to applications that use the old 16-bit UID/GID system calls, if the actual UID or GID would exceed 65535.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hj0hhubh)}(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.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hj0hhubeh}(h]jah ]h"]overflowgid & overflowuidah$]h&]uh1hhhhhhhhM*ubh)}(hhh](h)}(hpanich]hpanic}(hj(1hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj%1hhhhhM6ubh)}(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:}(hj61hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hj%1hhubj)}(hhh](j)}(h&if zero, the kernel will loop forever;h]h)}(hjI1h]h&if zero, the kernel will loop forever;}(hjK1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM;hjG1ubah}(h]h ]h"]h$]h&]uh1jhjD1hhhhhNubj)}(h0if negative, the kernel will reboot immediately;h]h)}(hj`1h]h0if negative, the kernel will reboot immediately;}(hjb1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hj^1ubah}(h]h ]h"]h$]h&]uh1jhjD1hhhhhNubj)}(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.}(hjy1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM=hju1ubah}(h]h ]h"]h$]h&]uh1jhjD1hhhhhNubeh}(h]h ]h"]h$]h&]jjuh1jhhhM;hj%1hhubh)}(hBWhen you use the software watchdog, the recommended setting is 60.h]hBWhen you use the software watchdog, the recommended setting is 60.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hj%1hhubeh}(h]jah ]h"]panicah$]h&]uh1hhhhhhhhM6ubh)}(hhh](h)}(hpanic_on_io_nmih]hpanic_on_io_nmi}(hj1hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj1hhhhhMDubh)}(hPControls the kernel's behavior when a CPU receives an NMI caused by an IO error.h]hRControls the kernel’s behavior when a CPU receives an NMI caused by an IO error.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhj1hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKBuh1jhj1ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(h$Try to continue operation (default).h]h$Try to continue operation (default).}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj 2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMKhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(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.}(hj62hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMKhj32ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]colsKuh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhj1hhhhhNubeh}(h]jah ]h"]panic_on_io_nmiah$]h&]uh1hhhhhhhhMDubh)}(hhh](h)}(h panic_on_oopsh]h panic_on_oops}(hjm2hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjj2hhhhhMTubh)}(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.}(hj{2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhjj2hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj2ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKCuh1jhj2ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hTry to continue operation.h]hTry to continue operation.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(h]Panic immediately. If the `panic` sysctl is also non-zero then the machine will be rebooted.h](hPanic immediately. If the }(hj2hhhNhNubhtitle_reference)}(h`panic`h]hpanic}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj2ubh; sysctl is also non-zero then the machine will be rebooted.}(hj2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMZhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]colsKuh1jhj2ubah}(h]h ]h"]h$]h&]uh1jhjj2hhhhhNubeh}(h]jah ]h"] panic_on_oopsah$]h&]uh1hhhhhhhhMTubh)}(hhh](h)}(hpanic_on_stackoverflowh]hpanic_on_stackoverflow}(hjC3hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj@3hhhhhM`ubh)}(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 }(hjQ3hhhNhNubj4)}(h``CONFIG_DEBUG_STACKOVERFLOW``h]hCONFIG_DEBUG_STACKOVERFLOW}(hjY3hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjQ3ubh is enabled.}(hjQ3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMbhj@3hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjt3ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjt3ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hTry to continue operation.h]hTry to continue operation.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hPanic immediately.h]hPanic immediately.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjt3ubeh}(h]h ]h"]h$]h&]colsKuh1jhjq3ubah}(h]h ]h"]h$]h&]uh1jhj@3hhhhhNubeh}(h]j ah ]h"]panic_on_stackoverflowah$]h&]uh1hhhhhhhhM`ubh)}(hhh](h)}(hpanic_on_unrecovered_nmih]hpanic_on_unrecovered_nmi}(hj4hhhNhNubah}(h]h ]h"]h$]h&]jj< uh1hhj4hhhhhMmubh)}(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%4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohj4hhubh)}(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.}(hj34hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj4hhubeh}(h]jB ah ]h"]panic_on_unrecovered_nmiah$]h&]uh1hhhhhhhhMmubh)}(hhh](h)}(h panic_on_warnh]h panic_on_warn}(hjK4hhhNhNubah}(h]h ]h"]h$]h&]jj^ uh1hhjH4hhhhhMzubh)}(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().}(hjY4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjH4hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjj4ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK0uh1jhjj4ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hOnly WARN(), default behaviour.h]hOnly WARN(), default behaviour.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h0Call panic() after printing out WARN() location.h]h0Call panic() after printing out WARN() location.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhjj4ubeh}(h]h ]h"]h$]h&]colsKuh1jhjg4ubah}(h]h ]h"]h$]h&]uh1jhjH4hhhhhNubeh}(h]jd ah ]h"] panic_on_warnah$]h&]uh1hhhhhhhhMzubh)}(hhh](h)}(h panic_printh]h panic_print}(hj 5hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj 5hhhhhMubh)}(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:}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj 5hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj,5ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK:uh1jhj,5ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hbit 0h]hbit 0}(hjL5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjI5ubah}(h]h ]h"]h$]h&]uh1jhjF5ubj)}(hhh]h)}(hprint all tasks infoh]hprint all tasks info}(hjc5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`5ubah}(h]h ]h"]h$]h&]uh1jhjF5ubeh}(h]h ]h"]h$]h&]uh1jhjC5ubj)}(hhh](j)}(hhh]h)}(hbit 1h]hbit 1}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj}5ubj)}(hhh]h)}(hprint system memory infoh]hprint system memory info}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj}5ubeh}(h]h ]h"]h$]h&]uh1jhjC5ubj)}(hhh](j)}(hhh]h)}(hbit 2h]hbit 2}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hprint timer infoh]hprint timer info}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjC5ubj)}(hhh](j)}(hhh]h)}(hbit 3h]hbit 3}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(h,print locks info if ``CONFIG_LOCKDEP`` is onh](hprint locks info if }(hj6hhhNhNubj4)}(h``CONFIG_LOCKDEP``h]hCONFIG_LOCKDEP}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj6ubh is on}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjC5ubj)}(hhh](j)}(hhh]h)}(hbit 4h]hbit 4}(hj:6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj76ubah}(h]h ]h"]h$]h&]uh1jhj46ubj)}(hhh]h)}(hprint ftrace bufferh]hprint ftrace buffer}(hjQ6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjN6ubah}(h]h ]h"]h$]h&]uh1jhj46ubeh}(h]h ]h"]h$]h&]uh1jhjC5ubj)}(hhh](j)}(hhh]h)}(hbit 5h]hbit 5}(hjq6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjn6ubah}(h]h ]h"]h$]h&]uh1jhjk6ubj)}(hhh]h)}(h:replay all kernel messages on consoles at the end of panich]h:replay all kernel messages on consoles at the end of panic}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjk6ubeh}(h]h ]h"]h$]h&]uh1jhjC5ubj)}(hhh](j)}(hhh]h)}(hbit 6h]hbit 6}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(h3print all CPUs backtrace (if available in the arch)h]h3print all CPUs backtrace (if available in the arch)}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjC5ubj)}(hhh](j)}(hhh]h)}(hbit 7h]hbit 7}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(h3print only tasks in uninterruptible (blocked) stateh]h3print only tasks in uninterruptible (blocked) state}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjC5ubeh}(h]h ]h"]h$]h&]uh1jhj,5ubeh}(h]h ]h"]h$]h&]colsKuh1jhj)5ubah}(h]h ]h"]h$]h&]uh1jhj 5hhhhhNubh)}(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#7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj 5hhubj)}(h%echo 3 > /proc/sys/kernel/panic_printh]h%echo 3 > /proc/sys/kernel/panic_print}hj17sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj 5hhubeh}(h]j ah ]h"] panic_printah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hpanic_sys_infoh]hpanic_sys_info}(hjI7hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjF7hhhhhMubh)}(hA comma separated list of extra information to be dumped on panic, for example, "tasks,mem,timers,...". It is a human readable alternative to 'panic_print'. Possible values are:h]hA comma separated list of extra information to be dumped on panic, for example, “tasks,mem,timers,...”. It is a human readable alternative to ‘panic_print’. Possible values are:}(hjW7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjF7hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjh7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjh7ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(htasksh]htasks}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hprint all tasks infoh]hprint all tasks info}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(hmemh]hmem}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hprint system memory infoh]hprint system memory info}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(htimersh]htimers}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hprint timers infoh]hprint timers info}(hj 8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj 8ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(hlocksh]hlocks}(hj-8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*8ubah}(h]h ]h"]h$]h&]uh1jhj'8ubj)}(hhh]h)}(h(print locks info if CONFIG_LOCKDEP is onh]h(print locks info if CONFIG_LOCKDEP is on}(hjD8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjA8ubah}(h]h ]h"]h$]h&]uh1jhj'8ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(hftraceh]hftrace}(hjd8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhja8ubah}(h]h ]h"]h$]h&]uh1jhj^8ubj)}(hhh]h)}(hprint ftrace bufferh]hprint ftrace buffer}(hj{8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjx8ubah}(h]h ]h"]h$]h&]uh1jhj^8ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(hall_bth]hall_bt}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(h3print all CPUs backtrace (if available in the arch)h]h3print all CPUs backtrace (if available in the arch)}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(h blocked_tasksh]h blocked_tasks}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(h3print only tasks in uninterruptible (blocked) stateh]h3print only tasks in uninterruptible (blocked) state}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhjh7ubeh}(h]h ]h"]h$]h&]colsKuh1jhje7ubah}(h]h ]h"]h$]h&]uh1jhjF7hhhhhNubeh}(h]j ah ]h"]panic_sys_infoah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hpanic_on_rcu_stallh]hpanic_on_rcu_stall}(hj 9hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj9hhhhhMubh)}(hWhen set to 1, calls panic() after RCU stall detection messages. This is useful to define the root cause of RCU stalls using a vmcore.h]hWhen set to 1, calls panic() after RCU stall detection messages. This is useful to define the root cause of RCU stalls using a vmcore.}(hj.9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj?9ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK=0h]h>=0}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](h)}(hEDisallow ftrace function tracepoint by users without ``CAP_PERFMON``.h](h5Disallow ftrace function tracepoint by users without }(hj;hhhNhNubj4)}(h``CAP_PERFMON``h]h CAP_PERFMON}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj;ubh.}(hj;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj;ubh)}(h@Disallow raw tracepoint access by users without ``CAP_PERFMON``.h](h0Disallow raw tracepoint access by users without }(hj;hhhNhNubj4)}(h``CAP_PERFMON``h]h CAP_PERFMON}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj;ubh.}(hj;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj;ubeh}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjO;ubj)}(hhh](j)}(hhh]h)}(h>=1h]h>=1}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(h;Disallow CPU event access by users without ``CAP_PERFMON``.h](h+Disallow CPU event access by users without }(hj/<hhhNhNubj4)}(h``CAP_PERFMON``h]h CAP_PERFMON}(hj7<hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj/<ubh.}(hj/<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj,<ubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhjO;ubj)}(hhh](j)}(hhh]h)}(h>=2h]h>=2}(hja<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj^<ubah}(h]h ]h"]h$]h&]uh1jhj[<ubj)}(hhh]h)}(h;Disallow kernel profiling by users without ``CAP_PERFMON``.h](h+Disallow kernel profiling by users without }(hjx<hhhNhNubj4)}(h``CAP_PERFMON``h]h CAP_PERFMON}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjx<ubh.}(hjx<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhju<ubah}(h]h ]h"]h$]h&]uh1jhj[<ubeh}(h]h ]h"]h$]h&]uh1jhjO;ubeh}(h]h ]h"]h$]h&]uh1jhj8;ubeh}(h]h ]h"]h$]h&]colsKuh1jhj5;ubah}(h]h ]h"]h$]h&]uh1jhj;hhhhhNubeh}(h]j0 ah ]h"]perf_event_paranoidah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hperf_event_max_stackh]hperf_event_max_stack}(hj<hhhNhNubah}(h]h ]h"]h$]h&]jjL uh1hhj<hhhhhMubh)}(hControls maximum number of stack frames to copy for (``attr.sample_type & PERF_SAMPLE_CALLCHAIN``) configured events, for instance, when using '``perf record -g``' or '``perf trace --call-graph fp``'.h](h5Controls maximum number of stack frames to copy for (}(hj<hhhNhNubj4)}(h,``attr.sample_type & PERF_SAMPLE_CALLCHAIN``h]h(attr.sample_type & PERF_SAMPLE_CALLCHAIN}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj<ubh1) configured events, for instance, when using ‘}(hj<hhhNhNubj4)}(h``perf record -g``h]hperf record -g}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj<ubh ’ or ‘}(hj<hhhNhNubj4)}(h``perf trace --call-graph fp``h]hperf trace --call-graph fp}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj<ubh’.}(hj<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj<hhubh)}(hThis can only be done when no events are in use that have callchains enabled, otherwise writing to this file will return ``-EBUSY``.h](hyThis can only be done when no events are in use that have callchains enabled, otherwise writing to this file will return }(hj=hhhNhNubj4)}(h ``-EBUSY``h]h-EBUSY}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj=ubh.}(hj=hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj<hhubh)}(hThe default value is 127.h]hThe default value is 127.}(hj3=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<hhubeh}(h]jR ah ]h"]perf_event_max_stackah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hperf_event_mlock_kbh]hperf_event_mlock_kb}(hjK=hhhNhNubah}(h]h ]h"]h$]h&]jjn uh1hhjH=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.}(hjY=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjH=hhubh)}(h!The default value is 512 + 1 pageh]h!The default value is 512 + 1 page}(hjg=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjH=hhubeh}(h]jt 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](hhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj>hhhhhMubh)}(h;Controls user space access for reading perf event counters.h]h;Controls user space access for reading perf event counters.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>hhubj)}(hhh](j)}(hfor arm64 The default value is 0 (access disabled). When set to 1, user space can read performance monitor counter registers directly. See Documentation/arch/arm64/perf.rst for more information. h](h)}(h3for arm64 The default value is 0 (access disabled).h]h3for arm64 The default value is 0 (access disabled).}(hj,>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj(>ubh)}(hRWhen set to 1, user space can read performance monitor counter registers directly.h]hRWhen set to 1, user space can read performance monitor counter registers directly.}(hj:>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hj(>ubh)}(h;See Documentation/arch/arm64/perf.rst for more information.h]h;See Documentation/arch/arm64/perf.rst for more information.}(hjH>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hj(>ubeh}(h]h ]h"]h$]h&]uh1jhj%>hhhhhNubj)}(hXfor riscv When set to 0, user space access is disabled. The default value is 1, user space can read performance monitor counter registers through perf, any direct access without perf intervention will trigger an illegal instruction. When set to 2, which enables legacy mode (user space has direct access to cycle and insret CSRs only). Note that this legacy value is deprecated and will be removed once all user space applications are fixed. Note that the time CSR is always directly accessible to all modes. h](h)}(h7for riscv When set to 0, user space access is disabled.h]h7for riscv When set to 0, user space access is disabled.}(hj`>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hj\>ubh)}(hThe default value is 1, user space can read performance monitor counter registers through perf, any direct access without perf intervention will trigger an illegal instruction.h]hThe default value is 1, user space can read performance monitor counter registers through perf, any direct access without perf intervention will trigger an illegal instruction.}(hjn>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hj\>ubh)}(hWhen set to 2, which enables legacy mode (user space has direct access to cycle and insret CSRs only). Note that this legacy value is deprecated and will be removed once all user space applications are fixed.h]hWhen set to 2, which enables legacy mode (user space has direct access to cycle and insret CSRs only). Note that this legacy value is deprecated and will be removed once all user space applications are fixed.}(hj|>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hj\>ubh)}(hBNote that the time CSR is always directly accessible to all modes.h]hBNote that the time CSR is always directly accessible to all modes.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hj\>ubeh}(h]h ]h"]h$]h&]uh1jhj%>hhhhhNubeh}(h]h ]h"]h$]h&]jjuh1jhhhM hj>hhubeh}(h]j ah ]h"]'perf_user_access (arm64 and riscv only)ah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hpid_maxh]hpid_max}(hj>hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj>hhhhhM6ubh)}(hPID allocation wrap value. When the kernel's next PID value reaches this value, it wraps back to a minimum PID value. PIDs of value ``pid_max`` or larger are not allocated.h](hPID allocation wrap value. When the kernel’s next PID value reaches this value, it wraps back to a minimum PID value. PIDs of value }(hj>hhhNhNubj4)}(h ``pid_max``h]hpid_max}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj>ubh or larger are not allocated.}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM8hj>hhubeh}(h]j ah ]h"]pid_maxah$]h&]uh1hhhhhhhhM6ubh)}(hhh](h)}(h ns_last_pidh]h ns_last_pid}(hj>hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj>hhhhhM>ubh)}(hThe last pid allocated in the current (the one task using this sysctl lives in) pid namespace. When selecting a pid for a next task on fork kernel tries to allocate a number starting from this one.h]hThe last pid allocated in the current (the one task using this sysctl lives in) pid namespace. When selecting a pid for a next task on fork kernel tries to allocate a number starting from this one.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hj>hhubeh}(h]j ah ]h"] ns_last_pidah$]h&]uh1hhhhhhhhM>ubh)}(hhh](h)}(hpowersave-nap (PPC only)h]hpowersave-nap (PPC only)}(hj ?hhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj ?hhhhhMFubh)}(haIf set, Linux-PPC will use the 'nap' mode of powersaving, otherwise the 'doze' mode will be used.h]hiIf set, Linux-PPC will use the ‘nap’ mode of powersaving, otherwise the ‘doze’ mode will be used.}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhj ?hhubeh}(h]j ah ]h"]powersave-nap (ppc only)ah$]h&]uh1hhhhhhhhMFubj )}(h>==============================================================h]h}(h]h ]h"]h$]h&]uh1jhhhMLhhhhubh)}(hhh](h)}(hprintkh]hprintk}(hj==============================================================h]h}(h]h ]h"]h$]h&]uh1jhhhMhhhhubh)}(hhh](h)}(hptyh]hpty}(hjChhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjChhhhhMubh)}(h)See Documentation/filesystems/devpts.rst.h]h)See Documentation/filesystems/devpts.rst.}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjChhubeh}(h]j ah ]h"]ptyah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hrandomh]hrandom}(hj-ChhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj*ChhhhhMubh)}(h0This is a directory, with the following entries:h]h0This is a directory, with the following entries:}(hj;ChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*Chhubj)}(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}(hjTChhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjPCubhN: a UUID generated the first time this is retrieved, and unvarying after that;}(hjPChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjLCubah}(h]h ]h"]h$]h&]uh1jhjIChhhhhNubj)}(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}(hjzChhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjvCubhb: a UUID generated every time this is retrieved (this can thus be used to generate UUIDs at will);}(hjvChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjrCubah}(h]h ]h"]h$]h&]uh1jhjIChhhhhNubj)}(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}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjCubh&: the pool’s entropy count, in bits;}(hjChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1jhjIChhhhhNubj)}(h.``poolsize``: the entropy pool size, in bits; h]h)}(h-``poolsize``: the entropy pool size, in bits;h](j4)}(h ``poolsize``h]hpoolsize}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjCubh!: the entropy pool size, in bits;}(hjChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1jhjIChhhhhNubj)}(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}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjCubh: 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;}(hjChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1jhjIChhhhhNubj)}(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}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjDubh_: when the entropy count drops below this (as a number of bits), processes waiting to write to }(hjDhhhNhNubj4)}(h``/dev/random``h]h /dev/random}(hj$DhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjDubhu are woken up. This file is writable for compatibility purposes, but writing to it has no effect on any RNG behavior.}(hjDhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj Dubah}(h]h ]h"]h$]h&]uh1jhjIChhhhhNubeh}(h]h ]h"]h$]h&]jjuh1jhhhMhj*Chhubeh}(h]j ah ]h"]randomah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hrandomize_va_spaceh]hrandomize_va_space}(hjRDhhhNhNubah}(h]h ]h"]h$]h&]jj( uh1hhjODhhhhhMubh)}(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.}(hj`DhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjODhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjqDubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKKuh1jhjqDubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(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.}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(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 }(hjDhhhNhNubj4)}(h``CONFIG_COMPAT_BRK``h]hCONFIG_COMPAT_BRK}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjDubh option is enabled.}(hjDhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Eubah}(h]h ]h"]h$]h&]uh1jhj Eubj)}(hhh](h)}(hbAdditionally enable heap randomization. This is the default if ``CONFIG_COMPAT_BRK`` is disabled.h](h@Additionally enable heap randomization. This is the default if }(hj%EhhhNhNubj4)}(h``CONFIG_COMPAT_BRK``h]hCONFIG_COMPAT_BRK}(hj-EhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj%Eubh is disabled.}(hj%EhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj"Eubh)}(hX}There are a few legacy applications out there (such as some ancient versions of libc.so.5 from 1996) that assume that brk area starts just after the end of the code+bss. These applications break when start of the brk area is randomized. There are however no known non-legacy applications that would be broken this way, so for most systems it is safe to choose full randomization.h]hX}There are a few legacy applications out there (such as some ancient versions of libc.so.5 from 1996) that assume that brk area starts just after the end of the code+bss. These applications break when start of the brk area is randomized. There are however no known non-legacy applications that would be broken this way, so for most systems it is safe to choose full randomization.}(hjEEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"Eubh)}(hSystems with ancient and/or broken binaries should be configured with ``CONFIG_COMPAT_BRK`` enabled, which excludes the heap from process address space randomization.h](hFSystems with ancient and/or broken binaries should be configured with }(hjSEhhhNhNubj4)}(h``CONFIG_COMPAT_BRK``h]hCONFIG_COMPAT_BRK}(hj[EhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjSEubhK enabled, which excludes the heap from process address space randomization.}(hjSEhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj"Eubeh}(h]h ]h"]h$]h&]uh1jhj Eubeh}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjqDubeh}(h]h ]h"]h$]h&]colsKuh1jhjnDubah}(h]h ]h"]h$]h&]uh1jhjODhhhhhNubeh}(h]j. ah ]h"]randomize_va_spaceah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h real-root-devh]h real-root-dev}(hjEhhhNhNubah}(h]h ]h"]h$]h&]jjJ uh1hhjEhhhhhMubh)}(h)See Documentation/admin-guide/initrd.rst.h]h)See Documentation/admin-guide/initrd.rst.}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEhhubeh}(h]jP ah ]h"] real-root-devah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hreboot-cmd (SPARC only)h]hreboot-cmd (SPARC only)}(hjEhhhNhNubah}(h]h ]h"]h$]h&]jjl uh1hhjEhhhhhMubh)}(h??? This seems to be a way to give an argument to the Sparc ROM/Flash boot loader. Maybe to tell it what to do after rebooting. ???h]h??? This seems to be a way to give an argument to the Sparc ROM/Flash boot loader. Maybe to tell it what to do after rebooting. ???}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEhhubeh}(h]jr ah ]h"]reboot-cmd (sparc only)ah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsched_energy_awareh]hsched_energy_aware}(hjEhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjEhhhhhMubh)}(hXEnables/disables Energy Aware Scheduling (EAS). EAS starts automatically on platforms where it can run (that is, platforms with asymmetric CPU topologies and having an Energy Model available). If your platform happens to meet the requirements for EAS but you do not want to use it, change this value to 0. On Non-EAS platforms, write operation fails and read doesn't return anything.h]hXEnables/disables Energy Aware Scheduling (EAS). EAS starts automatically on platforms where it can run (that is, platforms with asymmetric CPU topologies and having an Energy Model available). If your platform happens to meet the requirements for EAS but you do not want to use it, change this value to 0. On Non-EAS platforms, write operation fails and read doesn’t return anything.}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEhhubeh}(h]j ah ]h"]sched_energy_awareah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(htask_delayaccth]htask_delayacct}(hjFhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj FhhhhhMubh)}(hXEnables/disables task delay accounting (see Documentation/accounting/delay-accounting.rst. Enabling this feature incurs a small amount of overhead in the scheduler but is useful for debugging and performance tuning. It is required by some tools such as iotop.h]hXEnables/disables task delay accounting (see Documentation/accounting/delay-accounting.rst. Enabling this feature incurs a small amount of overhead in the scheduler but is useful for debugging and performance tuning. It is required by some tools such as iotop.}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Fhhubeh}(h]j ah ]h"]task_delayacctah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsched_schedstatsh]hsched_schedstats}(hj4FhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhj1FhhhhhMubh)}(hEnables/disables scheduler statistics. Enabling this feature incurs a small amount of overhead in the scheduler but is useful for debugging and performance tuning.h]hEnables/disables scheduler statistics. Enabling this feature incurs a small amount of overhead in the scheduler but is useful for debugging and performance tuning.}(hjBFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1Fhhubeh}(h]j ah ]h"]sched_schedstatsah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsched_util_clamp_minh]hsched_util_clamp_min}(hjZFhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjWFhhhhhMubh)}(h"Max allowed *minimum* utilization.h](h Max allowed }(hjhFhhhNhNubjV)}(h *minimum*h]hminimum}(hjpFhhhNhNubah}(h]h ]h"]h$]h&]uh1jUhjhFubh utilization.}(hjhFhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjWFhhubh)}(h;Default value is 1024, which is the maximum possible value.h]h;Default value is 1024, which is the maximum possible value.}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWFhhubh)}(hIt means that any requested uclamp.min value cannot be greater than sched_util_clamp_min, i.e., it is restricted to the range [0:sched_util_clamp_min].h]hIt means that any requested uclamp.min value cannot be greater than sched_util_clamp_min, i.e., it is restricted to the range [0:sched_util_clamp_min].}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWFhhubeh}(h]j ah ]h"]sched_util_clamp_minah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsched_util_clamp_maxh]hsched_util_clamp_max}(hjFhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjFhhhhhM ubh)}(h"Max allowed *maximum* utilization.h](h Max allowed }(hjFhhhNhNubjV)}(h *maximum*h]hmaximum}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jUhjFubh utilization.}(hjFhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hjFhhubh)}(h;Default value is 1024, which is the maximum possible value.h]h;Default value is 1024, which is the maximum possible value.}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(hIt means that any requested uclamp.max value cannot be greater than sched_util_clamp_max, i.e., it is restricted to the range [0:sched_util_clamp_max].h]hIt means that any requested uclamp.max value cannot be greater than sched_util_clamp_max, i.e., it is restricted to the range [0:sched_util_clamp_max].}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubeh}(h]j ah ]h"]sched_util_clamp_maxah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(hsched_util_clamp_min_rt_defaulth]hsched_util_clamp_min_rt_default}(hjGhhhNhNubah}(h]h ]h"]h$]h&]jj8 uh1hhjFhhhhhMubh)}(hBy default Linux is tuned for performance. Which means that RT tasks always run at the highest frequency and most capable (highest capacity) CPU (in heterogeneous systems).h]hBy default Linux is tuned for performance. Which means that RT tasks always run at the highest frequency and most capable (highest capacity) CPU (in heterogeneous systems).}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(hUclamp achieves this by setting the requested uclamp.min of all RT tasks to 1024 by default, which effectively boosts the tasks to run at the highest frequency and biases them to run on the biggest CPU.h]hUclamp achieves this by setting the requested uclamp.min of all RT tasks to 1024 by default, which effectively boosts the tasks to run at the highest frequency and biases them to run on the biggest CPU.}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(hThis knob allows admins to change the default behavior when uclamp is being used. In battery powered devices particularly, running at the maximum capacity and frequency will increase energy consumption and shorten the battery life.h]hThis knob allows admins to change the default behavior when uclamp is being used. In battery powered devices particularly, running at the maximum capacity and frequency will increase energy consumption and shorten the battery life.}(hj,GhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(hThis knob is only effective for RT tasks which the user hasn't modified their requested uclamp.min value via sched_setattr() syscall.h]hThis knob is only effective for RT tasks which the user hasn’t modified their requested uclamp.min value via sched_setattr() syscall.}(hj:GhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjFhhubh)}(h]This knob will not escape the range constraint imposed by sched_util_clamp_min defined above.h]h]This knob will not escape the range constraint imposed by sched_util_clamp_min defined above.}(hjHGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjFhhubh)}(hFor example ifh]hFor example if}(hjVGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjFhhubj)}(hAsched_util_clamp_min_rt_default = 800 sched_util_clamp_min = 600 h]h)}(h@sched_util_clamp_min_rt_default = 800 sched_util_clamp_min = 600h]h@sched_util_clamp_min_rt_default = 800 sched_util_clamp_min = 600}(hjhGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjdGubah}(h]h ]h"]h$]h&]uh1jhhhM,hjFhhubh)}(hXCThen the boost will be clamped to 600 because 800 is outside of the permissible range of [0:600]. This could happen for instance if a powersave mode will restrict all boosts temporarily by modifying sched_util_clamp_min. As soon as this restriction is lifted, the requested sched_util_clamp_min_rt_default will take effect.h]hXCThen the boost will be clamped to 600 because 800 is outside of the permissible range of [0:600]. This could happen for instance if a powersave mode will restrict all boosts temporarily by modifying sched_util_clamp_min. As soon as this restriction is lifted, the requested sched_util_clamp_min_rt_default will take effect.}(hj|GhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjFhhubeh}(h]j> ah ]h"]sched_util_clamp_min_rt_defaultah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hseccomph]hseccomp}(hjGhhhNhNubah}(h]h ]h"]h$]h&]jjZ uh1hhjGhhhhhM6ubh)}(h3See Documentation/userspace-api/seccomp_filter.rst.h]h3See Documentation/userspace-api/seccomp_filter.rst.}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjGhhubeh}(h]j` ah ]h"]seccompah$]h&]uh1hhhhhhhhM6ubh)}(hhh](h)}(h sg-big-buffh]h sg-big-buff}(hjGhhhNhNubah}(h]h ]h"]h$]h&]jj| uh1hhjGhhhhhM<ubh)}(hThis file shows the size of the generic SCSI (sg) buffer. You can't tune it just yet, but you could change it on compile time by editing ``include/scsi/sg.h`` and changing the value of ``SG_BIG_BUFF``.h](hThis file shows the size of the generic SCSI (sg) buffer. You can’t tune it just yet, but you could change it on compile time by editing }(hjGhhhNhNubj4)}(h``include/scsi/sg.h``h]hinclude/scsi/sg.h}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjGubh and changing the value of }(hjGhhhNhNubj4)}(h``SG_BIG_BUFF``h]h SG_BIG_BUFF}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjGubh.}(hjGhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM>hjGhhubh)}(hThere shouldn't be any reason to change this value. If you can come up with one, you probably know what you are doing anyway :)h]hThere shouldn’t be any reason to change this value. If you can come up with one, you probably know what you are doing anyway :)}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChjGhhubeh}(h]j ah ]h"] sg-big-buffah$]h&]uh1hhhhhhhhM<ubh)}(hhh](h)}(hshmallh]hshmall}(hjHhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjHhhhhhMIubh)}(hX This parameter sets the total amount of shared memory pages that can be used inside ipc namespace. The shared memory pages counting occurs for each ipc namespace separately and is not inherited. Hence, ``shmall`` should always be at least ``ceil(shmmax/PAGE_SIZE)``.h](hThis parameter sets the total amount of shared memory pages that can be used inside ipc namespace. The shared memory pages counting occurs for each ipc namespace separately and is not inherited. Hence, }(hj HhhhNhNubj4)}(h ``shmall``h]hshmall}(hj(HhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj Hubh should always be at least }(hj HhhhNhNubj4)}(h``ceil(shmmax/PAGE_SIZE)``h]hceil(shmmax/PAGE_SIZE)}(hj:HhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj Hubh.}(hj HhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMKhjHhhubh)}(hoIf you are not sure what the default ``PAGE_SIZE`` is on your Linux system, you can run the following command::h](h%If you are not sure what the default }(hjRHhhhNhNubj4)}(h ``PAGE_SIZE``h]h PAGE_SIZE}(hjZHhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjRHubh< is on your Linux system, you can run the following command:}(hjRHhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMPhjHhhubj)}(h# getconf PAGE_SIZEh]h# getconf PAGE_SIZE}hjrHsbah}(h]h ]h"]h$]h&]hhuh1jhhhMShjHhhubh)}(hTo reduce or disable the ability to allocate shared memory, you must create a new ipc namespace, set this parameter to the required value and prohibit the creation of a new ipc namespace in the current user namespace or cgroups can be used.h]hTo reduce or disable the ability to allocate shared memory, you must create a new ipc namespace, set this parameter to the required value and prohibit the creation of a new ipc namespace in the current user namespace or cgroups can be used.}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhjHhhubeh}(h]j ah ]h"]shmallah$]h&]uh1hhhhhhhhMIubh)}(hhh](h)}(hshmmaxh]hshmmax}(hjHhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjHhhhhhM[ubh)}(hThis value can be used to query and set the run time limit on the maximum shared memory segment size that can be created. Shared memory segments up to 1Gb are now supported in the kernel. This value defaults to ``SHMMAX``.h](hThis value can be used to query and set the run time limit on the maximum shared memory segment size that can be created. Shared memory segments up to 1Gb are now supported in the kernel. This value defaults to }(hjHhhhNhNubj4)}(h ``SHMMAX``h]hSHMMAX}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjHubh.}(hjHhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM]hjHhhubeh}(h]j ah ]h"]shmmaxah$]h&]uh1hhhhhhhhM[ubh)}(hhh](h)}(hshmmnih]hshmmni}(hjHhhhNhNubah}(h]h ]h"]h$]h&]jj uh1hhjHhhhhhMdubh)}(haThis value determines the maximum number of shared memory segments. 4096 by default (``SHMMNI``).h](hUThis value determines the maximum number of shared memory segments. 4096 by default (}(hjHhhhNhNubj4)}(h ``SHMMNI``h]hSHMMNI}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjHubh).}(hjHhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMfhjHhhubeh}(h]j ah ]h"]shmmniah$]h&]uh1hhhhhhhhMdubh)}(hhh](h)}(hshm_rmid_forcedh]hshm_rmid_forced}(hjIhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjIhhhhhMkubh)}(hX[Linux lets you set resource limits, including how much memory one process can consume, via ``setrlimit(2)``. Unfortunately, shared memory segments are allowed to exist without association with any process, and thus might not be counted against any resource limits. If enabled, shared memory segments are automatically destroyed when their attach count becomes zero after a detach or a process termination. It will also destroy segments that were created, but never attached to, on exit from the process. The only use left for ``IPC_RMID`` is to immediately destroy an unattached segment. Of course, this breaks the way things are defined, so some applications might stop working. Note that this feature will do you no good unless you also configure your resource limits (in particular, ``RLIMIT_AS`` and ``RLIMIT_NPROC``). Most systems don't need this.h](h[Linux lets you set resource limits, including how much memory one process can consume, via }(hjIhhhNhNubj4)}(h``setrlimit(2)``h]h setrlimit(2)}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjIubhX. Unfortunately, shared memory segments are allowed to exist without association with any process, and thus might not be counted against any resource limits. If enabled, shared memory segments are automatically destroyed when their attach count becomes zero after a detach or a process termination. It will also destroy segments that were created, but never attached to, on exit from the process. The only use left for }(hjIhhhNhNubj4)}(h ``IPC_RMID``h]hIPC_RMID}(hj0IhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjIubh is to immediately destroy an unattached segment. Of course, this breaks the way things are defined, so some applications might stop working. Note that this feature will do you no good unless you also configure your resource limits (in particular, }(hjIhhhNhNubj4)}(h ``RLIMIT_AS``h]h RLIMIT_AS}(hjBIhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjIubh and }(hjIhhhNhNubj4)}(h``RLIMIT_NPROC``h]h RLIMIT_NPROC}(hjTIhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjIubh#). Most systems don’t need this.}(hjIhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMmhjIhhubh)}(hNote that if you change this from 0 to 1, already created segments without users and with a dead originative process will be destroyed.h]hNote that if you change this from 0 to 1, already created segments without users and with a dead originative process will be destroyed.}(hjlIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjIhhubeh}(h]j ah ]h"]shm_rmid_forcedah$]h&]uh1hhhhhhhhMkubh)}(hhh](h)}(hsysctl_writes_stricth]hsysctl_writes_strict}(hjIhhhNhNubah}(h]h ]h"]h$]h&]jj&uh1hhjIhhhhhMubh)}(hiControl how file position affects the behavior of updating sysctl values via the ``/proc/sys`` interface:h](hQControl how file position affects the behavior of updating sysctl values via the }(hjIhhhNhNubj4)}(h ``/proc/sys``h]h /proc/sys}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjIubh interface:}(hjIhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjIhhubj)}(hX== ====================================================================== -1 Legacy per-write sysctl value handling, with no printk warnings. Each write syscall must fully contain the sysctl value to be written, and multiple writes on the same sysctl file descriptor will rewrite the sysctl value, regardless of file position. 0 Same behavior as above, but warn about processes that perform writes to a sysctl file descriptor when the file position is not 0. 1 (default) Respect file position when writing sysctl strings. Multiple writes will append to the sysctl value buffer. Anything past the max length of the sysctl value buffer will be ignored. Writes to numeric sysctl entries must always be at file position 0 and the value must be fully contained in the buffer sent in the write syscall. == ====================================================================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjIubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKFuh1jhjIubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h-1h]h-1}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(hLegacy per-write sysctl value handling, with no printk warnings. Each write syscall must fully contain the sysctl value to be written, and multiple writes on the same sysctl file descriptor will rewrite the sysctl value, regardless of file position.h]hLegacy per-write sysctl value handling, with no printk warnings. Each write syscall must fully contain the sysctl value to be written, and multiple writes on the same sysctl file descriptor will rewrite the sysctl value, regardless of file position.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(hj!h]h0}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Jubah}(h]h ]h"]h$]h&]uh1jhj Jubj)}(hhh]h)}(hSame behavior as above, but warn about processes that perform writes to a sysctl file descriptor when the file position is not 0.h]hSame behavior as above, but warn about processes that perform writes to a sysctl file descriptor when the file position is not 0.}(hj&JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#Jubah}(h]h ]h"]h$]h&]uh1jhj Jubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjFJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCJubah}(h]h ]h"]h$]h&]uh1jhj@Jubj)}(hhh]h)}(hXO(default) Respect file position when writing sysctl strings. Multiple writes will append to the sysctl value buffer. Anything past the max length of the sysctl value buffer will be ignored. Writes to numeric sysctl entries must always be at file position 0 and the value must be fully contained in the buffer sent in the write syscall.h]hXO(default) Respect file position when writing sysctl strings. Multiple writes will append to the sysctl value buffer. Anything past the max length of the sysctl value buffer will be ignored. Writes to numeric sysctl entries must always be at file position 0 and the value must be fully contained in the buffer sent in the write syscall.}(hj\JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjYJubah}(h]h ]h"]h$]h&]uh1jhj@Jubeh}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]colsKuh1jhjIubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1jhhhMhjIhhubeh}(h]j,ah ]h"]sysctl_writes_strictah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsoftlockup_all_cpu_backtraceh]hsoftlockup_all_cpu_backtrace}(hjJhhhNhNubah}(h]h ]h"]h$]h&]jjHuh1hhjJhhhhhMubh)}(hThis value controls the soft lockup detector thread's behavior when a soft lockup condition is detected as to whether or not to gather further debug information. If enabled, each cpu will be issued an NMI and instructed to capture stack trace.h]hThis value controls the soft lockup detector thread’s behavior when a soft lockup condition is detected as to whether or not to gather further debug information. If enabled, each cpu will be issued an NMI and instructed to capture stack trace.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJhhubh)}(hDThis feature is only applicable for architectures which support NMI.h]hDThis feature is only applicable for architectures which support NMI.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjJubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjJubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(h)Do nothing. This is the default behavior.h]h)Do nothing. This is the default behavior.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(h,On detection capture more debug information.h]h,On detection capture more debug information.}(hj2KhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/Kubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]colsKuh1jhjJubah}(h]h ]h"]h$]h&]uh1jhjJhhhhhNubeh}(h]jNah ]h"]softlockup_all_cpu_backtraceah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsoftlockup_panich]hsoftlockup_panic}(hjiKhhhNhNubah}(h]h ]h"]h$]h&]jjjuh1hhjfKhhhhhMubh)}(h_This parameter can be used to control whether the kernel panics when a soft lockup is detected.h]h_This parameter can be used to control whether the kernel panics when a soft lockup is detected.}(hjwKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfKhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjKubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjKubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hDon't panic on soft lockup.h]hDon’t panic on soft lockup.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hPanic on soft lockup.h]hPanic on soft lockup.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]colsKuh1jhjKubah}(h]h ]h"]h$]h&]uh1jhjfKhhhhhNubh)}(hAThis can also be set using the softlockup_panic kernel parameter.h]hAThis can also be set using the softlockup_panic kernel parameter.}(hj!LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfKhhubeh}(h]jpah ]h"]softlockup_panicah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h soft_watchdogh]h soft_watchdog}(hj9LhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj6LhhhhhMubh)}(h?This parameter can be used to control the soft lockup detector.h]h?This parameter can be used to control the soft lockup detector.}(hjGLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6Lhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjXLubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhjXLubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hjxLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuLubah}(h]h ]h"]h$]h&]uh1jhjrLubj)}(hhh]h)}(h!Disable the soft lockup detector.h]h!Disable the soft lockup detector.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhjrLubeh}(h]h ]h"]h$]h&]uh1jhjoLubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(h Enable the soft lockup detector.h]h Enable the soft lockup detector.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhjoLubeh}(h]h ]h"]h$]h&]uh1jhjXLubeh}(h]h ]h"]h$]h&]colsKuh1jhjULubah}(h]h ]h"]h$]h&]uh1jhj6LhhhhhNubh)}(hXThe soft lockup detector monitors CPUs for threads that are hogging the CPUs without rescheduling voluntarily, and thus prevent the 'migration/N' threads from running, causing the watchdog work fail to execute. The mechanism depends on the CPUs ability to respond to timer interrupts which are needed for the watchdog work to be queued by the watchdog timer function, otherwise the NMI watchdog — if enabled — can detect a hard lockup condition.h]hXThe soft lockup detector monitors CPUs for threads that are hogging the CPUs without rescheduling voluntarily, and thus prevent the ‘migration/N’ threads from running, causing the watchdog work fail to execute. The mechanism depends on the CPUs ability to respond to timer interrupts which are needed for the watchdog work to be queued by the watchdog timer function, otherwise the NMI watchdog — if enabled — can detect a hard lockup condition.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6Lhhubeh}(h]jah ]h"] soft_watchdogah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsplit_lock_mitigate (x86 only)h]hsplit_lock_mitigate (x86 only)}(hj MhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjMhhhhhMubh)}(hOn x86, each "split lock" imposes a system-wide performance penalty. On larger systems, large numbers of split locks from unprivileged users can result in denials of service to well-behaved and potentially more important users.h]hOn x86, each “split lock” imposes a system-wide performance penalty. On larger systems, large numbers of split locks from unprivileged users can result in denials of service to well-behaved and potentially more important users.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMhhubh)}(hThe kernel mitigates these bad users by detecting split locks and imposing penalties: forcing them to wait and only allowing one core to execute split locks at a time.h]hThe kernel mitigates these bad users by detecting split locks and imposing penalties: forcing them to wait and only allowing one core to execute split locks at a time.}(hj%MhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMhhubh)}(hThese mitigations can make those bad applications unbearably slow. Setting split_lock_mitigate=0 may restore some application performance, but will also increase system exposure to denial of service attacks from split lock users.h]hThese mitigations can make those bad applications unbearably slow. Setting split_lock_mitigate=0 may restore some application performance, but will also increase system exposure to denial of service attacks from split lock users.}(hj3MhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjDMubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKFuh1jhjDMubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hjdMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaMubah}(h]h ]h"]h$]h&]uh1jhj^Mubj)}(hhh]h)}(hDisable the mitigation mode - just warns the split lock on kernel log and exposes the system to denials of service from the split lockers.h]hDisable the mitigation mode - just warns the split lock on kernel log and exposes the system to denials of service from the split lockers.}(hjzMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjwMubah}(h]h ]h"]h$]h&]uh1jhj^Mubeh}(h]h ]h"]h$]h&]uh1jhj[Mubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(hxEnable the mitigation mode (this is the default) - penalizes the split lockers with intentional performance degradation.h]hxEnable the mitigation mode (this is the default) - penalizes the split lockers with intentional performance degradation.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhj[Mubeh}(h]h ]h"]h$]h&]uh1jhjDMubeh}(h]h ]h"]h$]h&]colsKuh1jhjAMubah}(h]h ]h"]h$]h&]uh1jhjMhhhhhNubeh}(h]jah ]h"]split_lock_mitigate (x86 only)ah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h stack_erasingh]h stack_erasing}(hjMhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjMhhhhhMubh)}(hThis parameter can be used to control kernel stack erasing at the end of syscalls for kernels built with ``CONFIG_KSTACK_ERASE``.h](hiThis parameter can be used to control kernel stack erasing at the end of syscalls for kernels built with }(hjMhhhNhNubj4)}(h``CONFIG_KSTACK_ERASE``h]hCONFIG_KSTACK_ERASE}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjMubh.}(hjMhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjMhhubh)}(hXThat erasing reduces the information which kernel stack leak bugs can reveal and blocks some uninitialized stack variable attacks. The tradeoff is the performance impact: on a single CPU system kernel compilation sees a 1% slowdown, other systems and workloads may vary.h]hXThat erasing reduces the information which kernel stack leak bugs can reveal and blocks some uninitialized stack variable attacks. The tradeoff is the performance impact: on a single CPU system kernel compilation sees a 1% slowdown, other systems and workloads may vary.}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj&Nubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKGuh1jhj&Nubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hjFNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCNubah}(h]h ]h"]h$]h&]uh1jhj@Nubj)}(hhh]h)}(hGKernel stack erasing is disabled, KSTACK_ERASE_METRICS are not updated.h]hGKernel stack erasing is disabled, KSTACK_ERASE_METRICS are not updated.}(hj\NhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjYNubah}(h]h ]h"]h$]h&]uh1jhj@Nubeh}(h]h ]h"]h$]h&]uh1jhj=Nubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj|NhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjyNubah}(h]h ]h"]h$]h&]uh1jhjvNubj)}(hhh]h)}(htKernel stack erasing is enabled (default), it is performed before returning to the userspace at the end of syscalls.h]htKernel stack erasing is enabled (default), it is performed before returning to the userspace at the end of syscalls.}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjvNubeh}(h]h ]h"]h$]h&]uh1jhj=Nubeh}(h]h ]h"]h$]h&]uh1jhj&Nubeh}(h]h ]h"]h$]h&]colsKuh1jhj#Nubah}(h]h ]h"]h$]h&]uh1jhjMhhhhhNubeh}(h]jah ]h"] stack_erasingah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hstop-a (SPARC only)h]hstop-a (SPARC only)}(hjNhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjNhhhhhMubh)}(hControls Stop-A:h]hControls Stop-A:}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjNubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjNubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(hStop-A has no effect.h]hStop-A has no effect.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj>OhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;Oubah}(h]h ]h"]h$]h&]uh1jhj8Oubj)}(hhh]h)}(h$Stop-A breaks to the PROM (default).h]h$Stop-A breaks to the PROM (default).}(hjTOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQOubah}(h]h ]h"]h$]h&]uh1jhj8Oubeh}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]colsKuh1jhjNubah}(h]h ]h"]h$]h&]uh1jhjNhhhhhNubh)}(hRStop-A is always enabled on a panic, so that the user can return to the boot PROM.h]hRStop-A is always enabled on a panic, so that the user can return to the boot PROM.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNhhubeh}(h]jah ]h"]stop-a (sparc only)ah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsysrqh]hsysrq}(hjOhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjOhhhhhMubh)}(h(See Documentation/admin-guide/sysrq.rst.h]h(See Documentation/admin-guide/sysrq.rst.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOhhubeh}(h]jah ]h"]sysrqah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(htaintedh]htainted}(hjOhhhNhNubah}(h]h ]h"]h$]h&]jj6uh1hhjOhhhhhMubh)}(hNon-zero if the kernel has been tainted. Numeric values, which can be ORed together. The letters are seen in "Tainted" line of Oops reports.h]hNon-zero if the kernel has been tainted. Numeric values, which can be ORed together. The letters are seen in “Tainted” line of Oops reports.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjOubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjOubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK>uh1jhjOubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hjh]h1}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjPubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(h`(P)`h]j3)}(hj Ph]h(P)}(hj"PhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjPubah}(h]h ]h"]h$]h&]uh1hhhhM hjPubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hproprietary module was loadedh]hproprietary module was loaded}(hj>PhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj;Pubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hj^PhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj[Pubah}(h]h ]h"]h$]h&]uh1jhjXPubj)}(hhh]h)}(h`(F)`h]j3)}(hjvPh]h(F)}(hjxPhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjtPubah}(h]h ]h"]h$]h&]uh1hhhhM hjqPubah}(h]h ]h"]h$]h&]uh1jhjXPubj)}(hhh]h)}(hmodule was force loadedh]hmodule was force loaded}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjPubah}(h]h ]h"]h$]h&]uh1jhjXPubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(hj(h]h4}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjPubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(h`(S)`h]j3)}(hjPh]h(S)}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjPubah}(h]h ]h"]h$]h&]uh1hhhhM hjPubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(h0kernel running on an out of specification systemh]h0kernel running on an out of specification system}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjPubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h8h]h8}(hj QhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjQubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(h`(R)`h]j3)}(hj#Qh]h(R)}(hj%QhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj!Qubah}(h]h ]h"]h$]h&]uh1hhhhM hjQubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(hmodule was force unloadedh]hmodule was force unloaded}(hjAQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj>Qubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h16h]h16}(hjaQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj^Qubah}(h]h ]h"]h$]h&]uh1jhj[Qubj)}(hhh]h)}(h`(M)`h]j3)}(hjzQh]h(M)}(hj|QhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjxQubah}(h]h ]h"]h$]h&]uh1hhhhM hjuQubah}(h]h ]h"]h$]h&]uh1jhj[Qubj)}(hhh]h)}(h2processor reported a Machine Check Exception (MCE)h]h2processor reported a Machine Check Exception (MCE)}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjQubah}(h]h ]h"]h$]h&]uh1jhj[Qubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h32h]h32}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(h`(B)`h]j3)}(hjQh]h(B)}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjQubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(h1bad page referenced or some unexpected page flagsh]h1bad page referenced or some unexpected page flags}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h64h]h64}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Rubah}(h]h ]h"]h$]h&]uh1jhj Rubj)}(hhh]h)}(h`(U)`h]j3)}(hj(Rh]h(U)}(hj*RhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj&Rubah}(h]h ]h"]h$]h&]uh1hhhhMhj#Rubah}(h]h ]h"]h$]h&]uh1jhj Rubj)}(hhh]h)}(h(taint requested by userspace applicationh]h(taint requested by userspace application}(hjFRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCRubah}(h]h ]h"]h$]h&]uh1jhj Rubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h128h]h128}(hjfRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcRubah}(h]h ]h"]h$]h&]uh1jhj`Rubj)}(hhh]h)}(h`(D)`h]j3)}(hjRh]h(D)}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj}Rubah}(h]h ]h"]h$]h&]uh1hhhhMhjzRubah}(h]h ]h"]h$]h&]uh1jhj`Rubj)}(hhh]h)}(h3kernel died recently, i.e. there was an OOPS or BUGh]h3kernel died recently, i.e. there was an OOPS or BUG}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhj`Rubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h256h]h256}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(h`(A)`h]j3)}(hjRh]h(A)}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjRubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(h$an ACPI table was overridden by userh]h$an ACPI table was overridden by user}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h512h]h512}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h`(W)`h]j3)}(hj-Sh]h(W)}(hj/ShhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj+Subah}(h]h ]h"]h$]h&]uh1hhhhMhj(Subah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hkernel issued warningh]hkernel issued warning}(hjKShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHSubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h1024h]h1024}(hjkShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhSubah}(h]h ]h"]h$]h&]uh1jhjeSubj)}(hhh]h)}(h`(C)`h]j3)}(hjSh]h(C)}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjSubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjeSubj)}(hhh]h)}(hstaging driver was loadedh]hstaging driver was loaded}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjeSubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h2048h]h2048}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h`(I)`h]j3)}(hjSh]h(I)}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjSubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h/workaround for bug in platform firmware appliedh]h/workaround for bug in platform firmware applied}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h4096h]h4096}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(h`(O)`h]j3)}(hj2Th]h(O)}(hj4ThhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj0Tubah}(h]h ]h"]h$]h&]uh1hhhhMhj-Tubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(h2externally-built ("out-of-tree") module was loadedh]h6externally-built (“out-of-tree”) module was loaded}(hjPThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMTubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h8192h]h8192}(hjpThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmTubah}(h]h ]h"]h$]h&]uh1jhjjTubj)}(hhh]h)}(h`(E)`h]j3)}(hjTh]h(E)}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjTubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjjTubj)}(hhh]h)}(hunsigned module was loadedh]hunsigned module was loaded}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjjTubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h16384h]h16384}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(h`(L)`h]j3)}(hjTh]h(L)}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjTubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(hsoft lockup occurredh]hsoft lockup occurred}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h32768h]h32768}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(h`(K)`h]j3)}(hj7Uh]h(K)}(hj9UhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj5Uubah}(h]h ]h"]h$]h&]uh1hhhhMhj2Uubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hkernel has been live patchedh]hkernel has been live patched}(hjUUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRUubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h65536h]h65536}(hjuUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjrUubah}(h]h ]h"]h$]h&]uh1jhjoUubj)}(hhh]h)}(h`(X)`h]j3)}(hjUh]h(X)}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjUubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjoUubj)}(hhh]h)}(h0Auxiliary taint, defined and used by for distrosh]h0Auxiliary taint, defined and used by for distros}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjoUubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h131072h]h131072}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(h`(T)`h]j3)}(hjUh]h(T)}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjUubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(h9The kernel was built with the struct randomization pluginh]h9The kernel was built with the struct randomization plugin}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]colsKuh1jhjOubah}(h]h ]h"]h$]h&]uh1jhjOhhhhhNubh)}(hGSee Documentation/admin-guide/tainted-kernels.rst for more information.h]hGSee Documentation/admin-guide/tainted-kernels.rst for more information.с}(hj0VhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOhhubj)}(hhh]j)}(hXNote: writes to this sysctl interface will fail with ``EINVAL`` if the kernel is booted with the command line option ``panic_on_taint=,nousertaint`` and any of the ORed together values being written to ``tainted`` match with the bitmask declared on panic_on_taint. See Documentation/admin-guide/kernel-parameters.rst for more details on that particular kernel command line option and its optional ``nousertaint`` switch. h](j )}(hNote:h]hNote:}(hjEVhhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhM&hjAVubj)}(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 }(hjVVhhhNhNubj4)}(h ``EINVAL``h]hEINVAL}(hj^VhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjVVubh6 if the kernel is booted with the command line option }(hjVVhhhNhNubj4)}(h(``panic_on_taint=,nousertaint``h]h$panic_on_taint=,nousertaint}(hjpVhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjVVubh6 and any of the ORed together values being written to }(hjVVhhhNhNubj4)}(h ``tainted``h]htainted}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjVVubh 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 }(hjVVhhhNhNubj4)}(h``nousertaint``h]h nousertaint}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjVVubh switch.}(hjVVhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hjSVubah}(h]h ]h"]h$]h&]uh1jhjAVubeh}(h]h ]h"]h$]h&]uh1jhhhM&hj>Vubah}(h]h ]h"]h$]h&]uh1jhjOhhhhhNubeh}(h]j<ah ]h"]taintedah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h threads-maxh]h threads-max}(hjVhhhNhNubah}(h]h ]h"]h$]h&]jjXuh1hhjVhhhhhM)ubh)}(hWThis value controls the maximum number of threads that can be created using ``fork()``.h](hLThis value controls the maximum number of threads that can be created using }(hjVhhhNhNubj4)}(h ``fork()``h]hfork()}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjVubh.}(hjVhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM+hjVhhubh)}(hDuring initialization the kernel sets this value such that even if the maximum number of threads is created, the thread structures occupy only a part (1/8th) of the available RAM pages.h]hDuring initialization the kernel sets this value such that even if the maximum number of threads is created, the thread structures occupy only a part (1/8th) of the available RAM pages.}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjVhhubh)}(h>The minimum value that can be written to ``threads-max`` is 1.h](h)The minimum value that can be written to }(hjWhhhNhNubj4)}(h``threads-max``h]h threads-max}(hj WhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjWubh is 1.}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM2hjVhhubh)}(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 }(hj$WhhhNhNubj4)}(h``threads-max``h]h threads-max}(hj,WhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj$Wubh is given by the constant }(hj$WhhhNhNubj4)}(h``FUTEX_TID_MASK``h]hFUTEX_TID_MASK}(hj>WhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj$Wubh (0x3fffffff).}(hj$WhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM4hjVhhubh)}(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 }(hjVWhhhNhNubj4)}(h``threads-max``h]h threads-max}(hj^WhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjVWubh an }(hjVWhhhNhNubj4)}(h ``EINVAL``h]hEINVAL}(hjpWhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjVWubh error occurs.}(hjVWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM7hjVhhubeh}(h]j^ah ]h"] threads-maxah$]h&]uh1hhhhhhhhM)ubh)}(hhh](h)}(htimer_migrationh]htimer_migration}(hjWhhhNhNubah}(h]h ]h"]h$]h&]jjzuh1hhjWhhhhhM;ubh)}(hWhen set to a non-zero value, attempt to migrate timers away from idle cpus to allow them to remain in low power states longer.h]hWhen set to a non-zero value, attempt to migrate timers away from idle cpus to allow them to remain in low power states longer.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM=hjWhhubh)}(hDefault is set (1).h]hDefault is set (1).}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hjWhhubeh}(h]jah ]h"]timer_migrationah$]h&]uh1hhhhhhhhM;ubh)}(hhh](h)}(htraceoff_on_warningh]htraceoff_on_warning}(hjWhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjWhhhhhMCubh)}(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 }(hjWhhhNhNubj4)}(h ``WARN()``h]hWARN()}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjWubh is hit.}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMEhjWhhubeh}(h]jah ]h"]traceoff_on_warningah$]h&]uh1hhhhhhhhMCubh)}(hhh](h)}(htracepoint_printkh]htracepoint_printk}(hjWhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjWhhhhhMJubh)}(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 }(hj XhhhNhNubj4)}(h ``tp_printk``h]h tp_printk}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj Xubh6 boot parameter), this entry provides runtime control:}(hj XhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMLhjWhhubj)}(h+echo 0 > /proc/sys/kernel/tracepoint_printkh]h+echo 0 > /proc/sys/kernel/tracepoint_printk}hj,Xsbah}(h]h ]h"]h$]h&]hhuh1jhhhMOhjWhhubh)}(h8will stop tracepoints from being sent to printk(), and::h]h7will stop tracepoints from being sent to printk(), and:}(hj:XhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMQhjWhhubj)}(h+echo 1 > /proc/sys/kernel/tracepoint_printkh]h+echo 1 > /proc/sys/kernel/tracepoint_printk}hjHXsbah}(h]h ]h"]h$]h&]hhuh1jhhhMShjWhhubh)}(h!will send them to printk() again.h]h!will send them to printk() again.}(hjVXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhjWhhubh)}(hDThis only works if the kernel was booted with ``tp_printk`` enabled.h](h.This only works if the kernel was booted with }(hjdXhhhNhNubj4)}(h ``tp_printk``h]h tp_printk}(hjlXhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjdXubh enabled.}(hjdXhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMWhjWhhubh)}(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.}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhjWhhubeh}(h]jah ]h"]tracepoint_printkah$]h&]uh1hhhhhhhhMJubh)}(hhh](h)}(hunaligned-traph]hunaligned-trap}(hjXhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjXhhhhhM^ubh)}(hXOn architectures where unaligned accesses cause traps, and where this feature is supported (``CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW``; currently, ``arc``, ``parisc`` and ``loongarch``), controls whether unaligned traps are caught and emulated (instead of failing).h](h\On architectures where unaligned accesses cause traps, and where this feature is supported (}(hjXhhhNhNubj4)}(h$``CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW``h]h CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjXubh ; currently, }(hjXhhhNhNubj4)}(h``arc``h]harc}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjXubh, }(hjXhhhNhNubj4)}(h ``parisc``h]hparisc}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjXubh and }(hjXhhhNhNubj4)}(h ``loongarch``h]h loongarch}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjXubhQ), controls whether unaligned traps are caught and emulated (instead of failing).}(hjXhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM`hjXhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjYubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK8uh1jhjYubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hj#YhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhj Yubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(h"Do not emulate unaligned accesses.h]h"Do not emulate unaligned accesses.}(hj9YhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhj6Yubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hjYYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghjVYubah}(h]h ]h"]h$]h&]uh1jhjSYubj)}(hhh]h)}(h8Emulate unaligned accesses. This is the default setting.h]h8Emulate unaligned accesses. This is the default setting.}(hjoYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghjlYubah}(h]h ]h"]h$]h&]uh1jhjSYubeh}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]colsKuh1jhjYubah}(h]h ]h"]h$]h&]uh1jhjXhhhhhNubh)}(h&See also `ignore-unaligned-usertrap`_.h](h See also }(hjYhhhNhNubh)}(h`ignore-unaligned-usertrap`_h]hignore-unaligned-usertrap}(hjYhhhNhNubah}(h]h ]h"]h$]h&]nameignore-unaligned-usertrapjjuh1hhjYjKubh.}(hjYhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMjhjXhhubeh}(h]jah ]h"]unaligned-trapah$]h&]uh1hhhhhhhhM^j7Kubh)}(hhh](h)}(hunknown_nmi_panich]hunknown_nmi_panic}(hjYhhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhjYhhhhhMnubh)}(hThe value in this file affects behavior of handling NMI. When the value is non-zero, unknown NMI is trapped and then panic occurs. At that time, kernel debugging information is displayed on console.h]hThe value in this file affects behavior of handling NMI. When the value is non-zero, unknown NMI is trapped and then panic occurs. At that time, kernel debugging information is displayed on console.}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjYhhubh)}(h}NMI switch that most IA32 servers have fires unknown NMI up, for example. If a system hangs up, try pressing the NMI switch.h]h}NMI switch that most IA32 servers have fires unknown NMI up, for example. If a system hangs up, try pressing the NMI switch.}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjYhhubeh}(h]jah ]h"]unknown_nmi_panicah$]h&]uh1hhhhhhhhMnubh)}(hhh](h)}(hunprivileged_bpf_disabledh]hunprivileged_bpf_disabled}(hjYhhhNhNubah}(h]h ]h"]h$]h&]jj$uh1hhjYhhhhhMyubh)}(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 }(hj ZhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj Zubh; once disabled, calling }(hj ZhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hj$ZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj Zubh without }(hj ZhhhNhNubj4)}(h``CAP_SYS_ADMIN``h]h CAP_SYS_ADMIN}(hj6ZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj Zubh or }(hj ZhhhNhNubj4)}(h ``CAP_BPF``h]hCAP_BPF}(hjHZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj Zubh will return }(hj ZhhhNhNubj4)}(h ``-EPERM``h]h-EPERM}(hjZZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ZubhI. Once set to 1, this can’t be cleared from the running kernel anymore.}(hj ZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM{hjYhhubh)}(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 }(hjrZhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hjzZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjrZubhg, however, an admin can still change this setting later on, if needed, by writing 0 or 1 to this entry.}(hjrZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjYhhubh)}(hnIf ``BPF_UNPRIV_DEFAULT_OFF`` is enabled in the kernel config, then this entry will default to 2 instead of 0.h](hIf }(hjZhhhNhNubj4)}(h``BPF_UNPRIV_DEFAULT_OFF``h]hBPF_UNPRIV_DEFAULT_OFF}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjZubhQ is enabled in the kernel config, then this entry will default to 2 instead of 0.}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjYhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjZubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK=uh1jhjZubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(h+Unprivileged calls to ``bpf()`` are enabledh](hUnprivileged calls to }(hjZhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjZubh are enabled}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjZubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[ubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(h=Unprivileged calls to ``bpf()`` are disabled without recoveryh](hUnprivileged calls to }(hj3[hhhNhNubj4)}(h ``bpf()``h]hbpf()}(hj;[hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj3[ubh are disabled without recovery}(hj3[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj0[ubah}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hje[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjb[ubah}(h]h ]h"]h$]h&]uh1jhj_[ubj)}(hhh]h)}(h,Unprivileged calls to ``bpf()`` are disabledh](hUnprivileged calls to }(hj{[hhhNhNubj4)}(h ``bpf()``h]hbpf()}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj{[ubh are disabled}(hj{[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjx[ubah}(h]h ]h"]h$]h&]uh1jhj_[ubeh}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]colsKuh1jhjZubah}(h]h ]h"]h$]h&]uh1jhjYhhhhhNubeh}(h]j*ah ]h"]unprivileged_bpf_disabledah$]h&]uh1hhhhhhhhMyubh)}(hhh](h)}(h warn_limith]h warn_limit}(hj[hhhNhNubah}(h]h ]h"]h$]h&]jjFuh1hhj[hhhhhMubh)}(hNumber of kernel warnings after which the kernel should panic when ``panic_on_warn`` is not set. Setting this to 0 disables checking the warning count. Setting this to 1 has the same effect as setting ``panic_on_warn=1``. The default value is 0.h](hCNumber of kernel warnings after which the kernel should panic when }(hj[hhhNhNubj4)}(h``panic_on_warn``h]h panic_on_warn}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj[ubhu is not set. Setting this to 0 disables checking the warning count. Setting this to 1 has the same effect as setting }(hj[hhhNhNubj4)}(h``panic_on_warn=1``h]hpanic_on_warn=1}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj[ubh. The default value is 0.}(hj[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj[hhubeh}(h]jLah ]h"] warn_limitah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hwatchdogh]hwatchdog}(hj\hhhNhNubah}(h]h ]h"]h$]h&]jjhuh1hhj \hhhhhMubh)}(hThis parameter can be used to disable or enable the soft lockup detector *and* the NMI watchdog (i.e. the hard lockup detector) at the same time.h](hIThis parameter can be used to disable or enable the soft lockup detector }(hj\hhhNhNubjV)}(h*and*h]hand}(hj$\hhhNhNubah}(h]h ]h"]h$]h&]uh1jUhj\ubhC the NMI watchdog (i.e. the hard lockup detector) at the same time.}(hj\hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj \hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj?\ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj?\ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hj!h]h0}(hj_\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\\ubah}(h]h ]h"]h$]h&]uh1jhjY\ubj)}(hhh]h)}(hDisable both lockup detectors.h]hDisable both lockup detectors.}(hju\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjr\ubah}(h]h ]h"]h$]h&]uh1jhjY\ubeh}(h]h ]h"]h$]h&]uh1jhjV\ubj)}(hhh](j)}(hhh]h)}(hjh]h1}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\ubah}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh]h)}(hEnable both lockup detectors.h]hEnable both lockup detectors.}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\ubah}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]uh1jhjV\ubeh}(h]h ]h"]h$]h&]uh1jhj?\ubeh}(h]h ]h"]h$]h&]colsKuh1jhj<\ubah}(h]h ]h"]h$]h&]uh1jhj \hhhhhNubh)}(hThe soft lockup detector and the NMI watchdog can also be disabled or enabled individually, using the ``soft_watchdog`` and ``nmi_watchdog`` parameters. If the ``watchdog`` parameter is read, for example by executing::h](hfThe soft lockup detector and the NMI watchdog can also be disabled or enabled individually, using the }(hj\hhhNhNubj4)}(h``soft_watchdog``h]h soft_watchdog}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj\ubh and }(hj\hhhNhNubj4)}(h``nmi_watchdog``h]h nmi_watchdog}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj\ubh parameters. If the }(hj\hhhNhNubj4)}(h ``watchdog``h]hwatchdog}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj\ubh- parameter is read, for example by executing:}(hj\hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj \hhubj)}(hcat /proc/sys/kernel/watchdogh]hcat /proc/sys/kernel/watchdog}hj]sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj \hhubh)}(hcthe output of this command (0 or 1) shows the logical OR of ``soft_watchdog`` and ``nmi_watchdog``.h](h /proc/sys/kernel/watchdog_cpumaskh]h.echo 0,2-4 > /proc/sys/kernel/watchdog_cpumask}hj]sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhjc]hhubeh}(h]jah ]h"]watchdog_cpumaskah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hwatchdog_threshh]hwatchdog_thresh}(hj]hhhNhNubah}(h]h ]h"]h$]h&]jjuh1hhj]hhhhhMubh)}(hThis value can be used to control the frequency of hrtimer and NMI events and the soft and hard lockup thresholds. The default threshold is 10 seconds.h]hThis value can be used to control the frequency of hrtimer and NMI events and the soft and hard lockup thresholds. The default threshold is 10 seconds.}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj]hhubh)}(h}The softlockup threshold is (``2 * watchdog_thresh``). Setting this tunable to zero will disable lockup detection altogether.h](hThe softlockup threshold is (}(hj^hhhNhNubj4)}(h``2 * watchdog_thresh``h]h2 * watchdog_thresh}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj^ubhI). Setting this tunable to zero will disable lockup detection altogether.}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj]hhubeh}(h]jah ]h"]watchdog_threshah$]h&]uh1hhhhhhhhMubeh}(h]!documentation-for-proc-sys-kernelah ]h"]#documentation for /proc/sys/kernel/ah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjY^error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}(msgmni]ja ctrl-alt-del]ja core_pattern](jjehung_task_timeout_secs]j $aunaligned-trap]j&amodules_disabled]j(admesg_restrict]jG*akexec_load_disabled]jW+aprintk_ratelimit](jxAjAeignore-unaligned-usertrap]jYaurefids}(j]j-aj]jq+aunameids}(j4^j1^jjjUjjnjjjjjjpj8jjZjj|jjj<jjjj5jjmj&jjHjCjjjjjejjjjjjjj j6je!jXj!jzj!jj"jj #jjR#jjx#j$j#jFj$jhj$jj%jj&jj'jj'jj&(j4j(jVj)jxj)jj*jj*jj;+jj+j"jB,jjA,jDj,jfj>-jj8.jj.jj/jj/jj:0j2j0jTj0jvj"1jj1jjg2jj=3jj4j jE4jB j5jd jC7j j9j j9j j4:j j;j j<j0 jE=jR jy=jt j>j j>j j>j j?j j,?j j@j@ jAjb j\Aj jAj jBj j'Cj jLDj jEj. jEjP jEjr jFj j.Fj jTFj jFj jFj jGj> jGj` j Hj jHj jHj jIj j~Ij jJj,jcKjNj3LjpjMjjMjjNjjOjjOjjVj<jWj^jWjjWjjXjjYjjYjj[j*j\jLj`]jnj]jj,^ju nametypes}(j4^jjUjnjjjpjjjj<jj5jmjjCjjejjjj je!j!j!j"j #jR#jx#j#j$j$j%j&j'j'j&(j(j)j)j*j*j;+j+jB,jA,j,j>-j8.j.j/j/j:0j0j0j"1j1jg2j=3j4jE4j5jC7j9j9j4:j;j<jE=jy=j>j>j>j?j,?j@jAj\AjAjBj'CjLDjEjEjEjFj.FjTFjFjFjGjGj HjHjHjIj~IjJjcKj3LjMjMjNjOjOjVjWjWjWjXjYjYj[j\j`]j]j,^uh}(j1^hjjjjjjXjjqjjj8j jZjsj|jjjjjjj?jj?jjj&j8jHjpjjjjjFjjjjhjjjjj6jjXj jzjh!jj!jj"jj"jj#j$jU#jFj{#jhj#jj$jj$jj%jj&jj'j4j'jVj)(jxj(jj)jj)jj*jj*j"j>+jj+jDj+jfjG,jj,jjA-jj;.jj.jj/j2j/jTj=0jvj0jj0jj%1jj1jjj2j j@3jB j4jd jH4j j 5j jF7j j9j j9j j7:j0 j;jR j<jt jH=j j|=j j>j j>j j>j j ?j@ j9?jb j@j jAj j_Aj jAj jCj j*Cj. jODjP jEjr jEj jEj j Fj j1Fj jWFj jFj> jFj` jGj jGj jHj jHj jHj jIj,jIjNjJjpjfKjj6LjjMjjMjjNjjOj<jOj^jVjjWjjWjjWjjXjjYj*jYjLj[jnj \jjc]jj]jjjjjjjjj2j)jTjKjvjmjjjjjjjjj jjBj9jdj[jj}jjjjjjjjj0j'jRjIjtjkjjjjjjjjjjj@j7jbjYjj{jjjjjjj jj.j%jPjGjrjijjjjjjjjjjj>j5j`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_jjjju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jg^KssRparse_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&]jalevelKtypeINFOsourcehlineKuh1j^hj?hhhhhKubj^)}(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^hjubetransform_messages] transformerN include_log] decorationNhhub.