Xsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget-/translations/zh_CN/admin-guide/sysctl/kernelmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/zh_TW/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/it_IT/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/ja_JP/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/ko_KR/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget-/translations/sp_SP/admin-guide/sysctl/kernelmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(h#Documentation for /proc/sys/kernel/h]h#Documentation for /proc/sys/kernel/}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhG/var/lib/git/docbuild/linux/Documentation/admin-guide/sysctl/kernel.rsthKubhcomment)}(h5See scripts/check-sysctl-docs to keep this up to dateh]h5See scripts/check-sysctl-docs to keep this up to date}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhhhKubh paragraph)}(h;Copyright (c) 1998, 1999, Rik van Riel h](h)Copyright (c) 1998, 1999, Rik van Riel <}(hhhhhNhNubh reference)}(hriel@nl.linux.orgh]hriel@nl.linux.org}(hhhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:riel@nl.linux.orguh1hhhubh>}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h9Copyright (c) 2009, Shen Fengh](h%Copyright (c) 2009, Shen Feng<}(hhhhhNhNubh)}(hshen@cn.fujitsu.comh]hshen@cn.fujitsu.com}(hhhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:shen@cn.fujitsu.comuh1hhhubh>}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(h\For general info and legal blurb, please look in Documentation/admin-guide/sysctl/index.rst.h]h\For general info and legal blurb, please look in Documentation/admin-guide/sysctl/index.rst.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh transition)}(hN------------------------------------------------------------------------------h]h}(h]h ]h"]h$]h&]uh1jhhhKhhhhubh)}(hOThis file contains documentation for the sysctl files in ``/proc/sys/kernel/``.h](h9This file contains documentation for the sysctl files in }(hj+hhhNhNubhliteral)}(h``/proc/sys/kernel/``h]h/proc/sys/kernel/}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj+ubh.}(hj+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hXThe files in this directory can be used to tune and monitor miscellaneous and general things in the operation of the Linux kernel. Since some of the files *can* be used to screw up your system, it is advisable to read both documentation and source before actually making adjustments.h](hThe files in this directory can be used to tune and monitor miscellaneous and general things in the operation of the Linux kernel. Since some of the files }(hjMhhhNhNubhemphasis)}(h*can*h]hcan}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jUhjMubh{ be used to screw up your system, it is advisable to read both documentation and source before actually making adjustments.}(hjMhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h_Currently, these files might (depending on your configuration) show up in ``/proc/sys/kernel``:h](hJCurrently, these files might (depending on your configuration) show up in }(hjohhhNhNubj4)}(h``/proc/sys/kernel``h]h/proc/sys/kernel}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjoubh:}(hjohhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubhtopic)}(hhh]h bullet_list)}(hhh](h list_item)}(hhh]h)}(hhh]h)}(hhh]hacct}(hjhhhNhNubah}(h]id2ah ]h"]h$]h&]refidacctuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hacpi_video_flags}(hjhhhNhNubah}(h]id3ah ]h"]h$]h&]refidacpi-video-flagsuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]harch}(hjhhhNhNubah}(h]id4ah ]h"]h$]h&]refidarchuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h auto_msgmni}(hjhhhNhNubah}(h]id5ah ]h"]h$]h&]refid auto-msgmniuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hbootloader_type (x86 only)}(hj)hhhNhNubah}(h]id6ah ]h"]h$]h&]refidbootloader-type-x86-onlyuh1hhj&ubah}(h]h ]h"]h$]h&]uh1hhj#ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hbootloader_version (x86 only)}(hjKhhhNhNubah}(h]id7ah ]h"]h$]h&]refidbootloader-version-x86-onlyuh1hhjHubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hbpf_stats_enabled}(hjmhhhNhNubah}(h]id8ah ]h"]h$]h&]refidbpf-stats-enableduh1hhjjubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hcad_pid}(hjhhhNhNubah}(h]id9ah ]h"]h$]h&]refidcad-piduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h cap_last_cap}(hjhhhNhNubah}(h]id10ah ]h"]h$]h&]refid cap-last-capuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h core_pattern}(hjhhhNhNubah}(h]id11ah ]h"]h$]h&]refid core-patternuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hcore_pipe_limit}(hjhhhNhNubah}(h]id12ah ]h"]h$]h&]refidcore-pipe-limituh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h core_sort_vma}(hjhhhNhNubah}(h]id13ah ]h"]h$]h&]refid core-sort-vmauh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h core_uses_pid}(hj9hhhNhNubah}(h]id14ah ]h"]h$]h&]refid core-uses-piduh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h ctrl-alt-del}(hj[hhhNhNubah}(h]id15ah ]h"]h$]h&]refid ctrl-alt-deluh1hhjXubah}(h]h ]h"]h$]h&]uh1hhjUubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hdmesg_restrict}(hj}hhhNhNubah}(h]id16ah ]h"]h$]h&]refiddmesg-restrictuh1hhjzubah}(h]h ]h"]h$]h&]uh1hhjwubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hdomainname & hostname}(hjhhhNhNubah}(h]id17ah ]h"]h$]h&]refiddomainname-hostnameuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hfirmware_config}(hjhhhNhNubah}(h]id18ah ]h"]h$]h&]refidfirmware-configuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hftrace_dump_on_oops}(hjhhhNhNubah}(h]id19ah ]h"]h$]h&]refidftrace-dump-on-oopsuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h$ftrace_enabled, stack_tracer_enabled}(hjhhhNhNubah}(h]id20ah ]h"]h$]h&]refid#ftrace-enabled-stack-tracer-enableduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhardlockup_all_cpu_backtrace}(hj'hhhNhNubah}(h]id21ah ]h"]h$]h&]refidhardlockup-all-cpu-backtraceuh1hhj$ubah}(h]h ]h"]h$]h&]uh1hhj!ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhardlockup_panic}(hjIhhhNhNubah}(h]id22ah ]h"]h$]h&]refidhardlockup-panicuh1hhjFubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhotplug}(hjkhhhNhNubah}(h]id23ah ]h"]h$]h&]refidhotpluguh1hhjhubah}(h]h ]h"]h$]h&]uh1hhjeubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_all_cpu_backtrace}(hjhhhNhNubah}(h]id24ah ]h"]h$]h&]refidhung-task-all-cpu-backtraceuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_panic}(hjhhhNhNubah}(h]id25ah ]h"]h$]h&]refidhung-task-panicuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_check_count}(hjhhhNhNubah}(h]id26ah ]h"]h$]h&]refidhung-task-check-countuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_detect_count}(hjhhhNhNubah}(h]id27ah ]h"]h$]h&]refidhung-task-detect-countuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_timeout_secs}(hjhhhNhNubah}(h]id28ah ]h"]h$]h&]refidhung-task-timeout-secsuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_check_interval_secs}(hj7hhhNhNubah}(h]id29ah ]h"]h$]h&]refidhung-task-check-interval-secsuh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhung_task_warnings}(hjYhhhNhNubah}(h]id30ah ]h"]h$]h&]refidhung-task-warningsuh1hhjVubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hhyperv_record_panic_msg}(hj{hhhNhNubah}(h]id31ah ]h"]h$]h&]refidhyperv-record-panic-msguh1hhjxubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hignore-unaligned-usertrap}(hjhhhNhNubah}(h]id32ah ]h"]h$]h&]refidignore-unaligned-usertrapuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hio_uring_disabled}(hjhhhNhNubah}(h]id33ah ]h"]h$]h&]refidio-uring-disableduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hio_uring_group}(hjhhhNhNubah}(h]id34ah ]h"]h$]h&]refidio-uring-groupuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkexec_load_disabled}(hjhhhNhNubah}(h]id35ah ]h"]h$]h&]refidkexec-load-disableduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkexec_load_limit_panic}(hj%hhhNhNubah}(h]id36ah ]h"]h$]h&]refidkexec-load-limit-panicuh1hhj"ubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hkexec_load_limit_reboot}(hjGhhhNhNubah}(h]id37ah ]h"]h$]h&]refidkexec-load-limit-rebootuh1hhjDubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h kptr_restrict}(hjihhhNhNubah}(h]id38ah ]h"]h$]h&]refid kptr-restrictuh1hhjfubah}(h]h ]h"]h$]h&]uh1hhjcubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmodprobe}(hjhhhNhNubah}(h]id39ah ]h"]h$]h&]refidmodprobeuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmodules_disabled}(hjhhhNhNubah}(h]id40ah ]h"]h$]h&]refidmodules-disableduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmsgmax, msgmnb, and msgmni}(hjhhhNhNubah}(h]id41ah ]h"]h$]h&]refidmsgmax-msgmnb-and-msgmniuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h8msg_next_id, sem_next_id, and shm_next_id (System V IPC)}(hjhhhNhNubah}(h]id42ah ]h"]h$]h&]refid4msg-next-id-sem-next-id-and-shm-next-id-system-v-ipcuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h ngroups_max}(hjhhhNhNubah}(h]id43ah ]h"]h$]h&]refid ngroups-maxuh1hhjubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h nmi_watchdog}(hj5hhhNhNubah}(h]id44ah ]h"]h$]h&]refid nmi-watchdoguh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhj/ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hnmi_wd_lpm_factor (PPC only)}(hjWhhhNhNubah}(h]id45ah ]h"]h$]h&]refidnmi-wd-lpm-factor-ppc-onlyuh1hhjTubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hnuma_balancing}(hjyhhhNhNubah}(h]id46ah ]h"]h$]h&]refidnuma-balancinguh1hhjvubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h&numa_balancing_promote_rate_limit_MBps}(hjhhhNhNubah}(h]id47ah ]h"]h$]h&]refid&numa-balancing-promote-rate-limit-mbpsuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hoops_all_cpu_backtrace}(hjhhhNhNubah}(h]id48ah ]h"]h$]h&]refidoops-all-cpu-backtraceuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h oops_limit}(hjhhhNhNubah}(h]id49ah ]h"]h$]h&]refid oops-limituh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hosrelease, ostype & version}(hjhhhNhNubah}(h]id50ah ]h"]h$]h&]refidosrelease-ostype-versionuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hoverflowgid & overflowuid}(hj#hhhNhNubah}(h]id51ah ]h"]h$]h&]refidoverflowgid-overflowuiduh1hhj ubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic}(hjEhhhNhNubah}(h]id52ah ]h"]h$]h&]refidpanicuh1hhjBubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_io_nmi}(hjghhhNhNubah}(h]id53ah ]h"]h$]h&]refidpanic-on-io-nmiuh1hhjdubah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h panic_on_oops}(hjhhhNhNubah}(h]id54ah ]h"]h$]h&]refid panic-on-oopsuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_stackoverflow}(hjhhhNhNubah}(h]id55ah ]h"]h$]h&]refidpanic-on-stackoverflowuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_unrecovered_nmi}(hjhhhNhNubah}(h]id56ah ]h"]h$]h&]refidpanic-on-unrecovered-nmiuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h panic_on_warn}(hjhhhNhNubah}(h]id57ah ]h"]h$]h&]refid panic-on-warnuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h panic_print}(hj hhhNhNubah}(h]id58ah ]h"]h$]h&]refid panic-printuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_sys_info}(hj3 hhhNhNubah}(h]id59ah ]h"]h$]h&]refidpanic-sys-infouh1hhj0 ubah}(h]h ]h"]h$]h&]uh1hhj- ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpanic_on_rcu_stall}(hjU hhhNhNubah}(h]id60ah ]h"]h$]h&]refidpanic-on-rcu-stalluh1hhjR ubah}(h]h ]h"]h$]h&]uh1hhjO ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hmax_rcu_stall_to_panic}(hjw hhhNhNubah}(h]id61ah ]h"]h$]h&]refidmax-rcu-stall-to-panicuh1hhjt ubah}(h]h ]h"]h$]h&]uh1hhjq ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hperf_cpu_time_max_percent}(hj hhhNhNubah}(h]id62ah ]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]id63ah ]h"]h$]h&]refidperf-event-paranoiduh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hperf_event_max_stack}(hj hhhNhNubah}(h]id64ah ]h"]h$]h&]refidperf-event-max-stackuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hperf_event_mlock_kb}(hj hhhNhNubah}(h]id65ah ]h"]h$]h&]refidperf-event-mlock-kbuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h!perf_event_max_contexts_per_stack}(hj! hhhNhNubah}(h]id66ah ]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)}(hjC hhhNhNubah}(h]id67ah ]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}(hje hhhNhNubah}(h]id68ah ]h"]h$]h&]refidpid-maxuh1hhjb 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]id69ah ]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]id70ah ]h"]h$]h&]refidpowersave-nap-ppc-onlyuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hprintk}(hj hhhNhNubah}(h]id71ah ]h"]h$]h&]refidprintkuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h printk_delay}(hj hhhNhNubah}(h]id72ah ]h"]h$]h&]refid printk-delayuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hprintk_ratelimit}(hj hhhNhNubah}(h]id73ah ]h"]h$]h&]refidprintk-ratelimituh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hprintk_ratelimit_burst}(hj1 hhhNhNubah}(h]id74ah ]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}(hjS hhhNhNubah}(h]id75ah ]h"]h$]h&]refidprintk-devkmsguh1hhjP ubah}(h]h ]h"]h$]h&]uh1hhjM ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hpty}(hju hhhNhNubah}(h]id76ah ]h"]h$]h&]refidptyuh1hhjr ubah}(h]h ]h"]h$]h&]uh1hhjo ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hrandom}(hj hhhNhNubah}(h]id77ah ]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]id78ah ]h"]h$]h&]refidrandomize-va-spaceuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h real-root-dev}(hj hhhNhNubah}(h]id79ah ]h"]h$]h&]refid real-root-devuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hreboot-cmd (SPARC only)}(hj hhhNhNubah}(h]id80ah ]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]id81ah ]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}(hjA hhhNhNubah}(h]id82ah ]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}(hjc hhhNhNubah}(h]id83ah ]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]id84ah ]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]id85ah ]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]id86ah ]h"]h$]h&]refidsched-util-clamp-min-rt-defaultuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hseccomp}(hj hhhNhNubah}(h]id87ah ]h"]h$]h&]refidseccompuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h sg-big-buff}(hj hhhNhNubah}(h]id88ah ]h"]h$]h&]refid sg-big-buffuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshmall}(hj/ hhhNhNubah}(h]id89ah ]h"]h$]h&]refidshmalluh1hhj, ubah}(h]h ]h"]h$]h&]uh1hhj) ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshmmax}(hjQ hhhNhNubah}(h]id90ah ]h"]h$]h&]refidshmmaxuh1hhjN ubah}(h]h ]h"]h$]h&]uh1hhjK ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshmmni}(hjs hhhNhNubah}(h]id91ah ]h"]h$]h&]refidshmmniuh1hhjp ubah}(h]h ]h"]h$]h&]uh1hhjm ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hshm_rmid_forced}(hj hhhNhNubah}(h]id92ah ]h"]h$]h&]refidshm-rmid-forceduh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsysctl_writes_strict}(hj hhhNhNubah}(h]id93ah ]h"]h$]h&]refidsysctl-writes-strictuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsoftlockup_all_cpu_backtrace}(hj hhhNhNubah}(h]id94ah ]h"]h$]h&]refidsoftlockup-all-cpu-backtraceuh1hhj ubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsoftlockup_panic}(hj hhhNhNubah}(h]id95ah ]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]id96ah ]h"]h$]h&]refid soft-watchdoguh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsplit_lock_mitigate (x86 only)}(hj?hhhNhNubah}(h]id97ah ]h"]h$]h&]refidsplit-lock-mitigate-x86-onlyuh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h stack_erasing}(hjahhhNhNubah}(h]id98ah ]h"]h$]h&]refid stack-erasinguh1hhj^ubah}(h]h ]h"]h$]h&]uh1hhj[ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hstop-a (SPARC only)}(hjhhhNhNubah}(h]id99ah ]h"]h$]h&]refidstop-a-sparc-onlyuh1hhjubah}(h]h ]h"]h$]h&]uh1hhj}ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hsysrq}(hjhhhNhNubah}(h]id100ah ]h"]h$]h&]refidsysrquh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htainted}(hjhhhNhNubah}(h]id101ah ]h"]h$]h&]refidtainteduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h threads-max}(hjhhhNhNubah}(h]id102ah ]h"]h$]h&]refid threads-maxuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htimer_migration}(hj hhhNhNubah}(h]id103ah ]h"]h$]h&]refidtimer-migrationuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htraceoff_on_warning}(hj-hhhNhNubah}(h]id104ah ]h"]h$]h&]refidtraceoff-on-warninguh1hhj*ubah}(h]h ]h"]h$]h&]uh1hhj'ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]htracepoint_printk}(hjOhhhNhNubah}(h]id105ah ]h"]h$]h&]refidtracepoint-printkuh1hhjLubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hunaligned-trap}(hjqhhhNhNubah}(h]id106ah ]h"]h$]h&]refidunaligned-trapuh1hhjnubah}(h]h ]h"]h$]h&]uh1hhjkubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hunknown_nmi_panic}(hjhhhNhNubah}(h]id107ah ]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]id108ah ]h"]h$]h&]refidunprivileged-bpf-disableduh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]h warn_limit}(hjhhhNhNubah}(h]id109ah ]h"]h$]h&]refid warn-limituh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hwatchdog}(hjhhhNhNubah}(h]id110ah ]h"]h$]h&]refidwatchdoguh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hwatchdog_cpumask}(hjhhhNhNubah}(h]id111ah ]h"]h$]h&]refidwatchdog-cpumaskuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhh]h)}(hhh]hwatchdog_thresh}(hj=hhhNhNubah}(h]id112ah ]h"]h$]h&]refidwatchdog-threshuh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhhhNhNubah}(h]contentsah ](contentslocaleh"]contentsah$]h&]uh1jhhhKhhhhubh)}(hhh](h)}(haccth]hacct}(hjlhhhNhNubah}(h]h ]h"]h$]h&]refidjuh1hhjihhhhhK!ubh literal_block)}(hhighwater lowwater frequencyh]hhighwater lowwater frequency}hj}sbah}(h]h ]h"]h$]h&]hhuh1j{hhhK%hjihhubh)}(hXTIf BSD-style process accounting is enabled these values control its behaviour. If free space on filesystem where the log lives goes below ``lowwater``\ % accounting suspends. If free space gets above ``highwater``\ % accounting resumes. ``frequency`` determines how often do we check the amount of free space (value is in seconds). Default:h](hIf BSD-style process accounting is enabled these values control its behaviour. If free space on filesystem where the log lives goes below }(hjhhhNhNubj4)}(h ``lowwater``h]hlowwater}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh2 % accounting suspends. If free space gets above }(hjhhhNhNubj4)}(h ``highwater``h]h highwater}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh % accounting resumes. }(hjhhhNhNubj4)}(h ``frequency``h]h frequency}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubhZ determines how often do we check the amount of free space (value is in seconds). Default:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK'hjihhubj|)}(h4 2 30h]h4 2 30}hjsbah}(h]h ]h"]h$]h&]hhuh1j{hhhK0hjihhubh)}(hThat is, suspend accounting if free space drops below 2%; resume it if it increases to at least 4%; consider information about amount of free space valid for 30 seconds.h]hThat is, suspend accounting if free space drops below 2%; resume it if it increases to at least 4%; consider information about amount of free space valid for 30 seconds.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK2hjihhubeh}(h]jah ]h"]acctah$]h&]uh1hhhhhhhhK!ubh)}(hhh](h)}(hacpi_video_flagsh]hacpi_video_flags}(hjhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjhhhhhK8ubh)}(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 }(hjhhhNhNubj4)}(h``acpi_sleep``h]h acpi_sleep}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh5 kernel parameter, by combining the following values:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK:hjhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hj*ubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hj*ubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h1h]h1}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjOubah}(h]h ]h"]h$]h&]uh1jMhjJubjN)}(hhh]h)}(hs3_biosh]hs3_bios}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjfubah}(h]h ]h"]h$]h&]uh1jMhjJubeh}(h]h ]h"]h$]h&]uh1jHhjEubjI)}(hhh](jN)}(hhh]h)}(h2h]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(hs3_modeh]hs3_mode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjEubjI)}(hhh](jN)}(hhh]h)}(h4h]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(hs3_beeph]hs3_beep}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjEubeh}(h]h ]h"]h$]h&]uh1jChj*ubeh}(h]h ]h"]h$]h&]colsKuh1j(hj%ubah}(h]h ]h"]h$]h&]uh1j#hjhhhhhNubeh}(h]jah ]h"]acpi_video_flagsah$]h&]uh1hhhhhhhhK8ubh)}(hhh](h)}(harchh]harch}(hjhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhj hhhhhKEubh)}(h\The machine hardware name, the same output as ``uname -m`` (e.g. ``x86_64`` or ``aarch64``).h](h.The machine hardware name, the same output as }(hjhhhNhNubj4)}(h ``uname -m``h]huname -m}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh (e.g. }(hjhhhNhNubj4)}(h ``x86_64``h]hx86_64}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh or }(hjhhhNhNubj4)}(h ``aarch64``h]haarch64}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh).}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKGhj hhubeh}(h]jah ]h"]archah$]h&]uh1hhhhhhhhKEubh)}(hhh](h)}(h auto_msgmnih]h auto_msgmni}(hjjhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjghhhhhKKubh)}(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 }(hjxhhhNhNubh)}(h `msgmni`_h]hmsgmni}(hjhhhNhNubah}(h]h ]h"]h$]h&]namemsgmnijzmsgmniuh1hhjxresolvedKubh 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.}(hjxhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKMhjghhubeh}(h]jah ]h"] auto_msgmniah$]h&]uh1hhhhhhhhKKubh)}(hhh](h)}(hbootloader_type (x86 only)h]hbootloader_type (x86 only)}(hjhhhNhNubah}(h]h ]h"]h$]h&]jzj2uh1hhjhhhhhKWubh)}(hXThis gives the bootloader type number as indicated by the bootloader, shifted left by 4, and OR'd with the low four bits of the bootloader version. The reason for this encoding is that this used to match the ``type_of_loader`` field in the kernel header; the encoding is kept for backwards compatibility. That is, if the full bootloader type number is 0x15 and the full version number is 0x234, this file will contain the value 340 = 0x154.h](hThis gives the bootloader type number as indicated by the bootloader, shifted left by 4, and OR’d with the low four bits of the bootloader version. The reason for this encoding is that this used to match the }(hjhhhNhNubj4)}(h``type_of_loader``h]htype_of_loader}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh field in the kernel header; the encoding is kept for backwards compatibility. That is, if the full bootloader type number is 0x15 and the full version number is 0x234, this file will contain the value 340 = 0x154.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKYhjhhubh)}(hxSee the ``type_of_loader`` and ``ext_loader_type`` fields in Documentation/arch/x86/boot.rst for additional information.h](hSee the }(hjhhhNhNubj4)}(h``type_of_loader``h]htype_of_loader}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh and }(hjhhhNhNubj4)}(h``ext_loader_type``h]hext_loader_type}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubhF fields in Documentation/arch/x86/boot.rst for additional information.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKahjhhubeh}(h]j8ah ]h"]bootloader_type (x86 only)ah$]h&]uh1hhhhhhhhKWubh)}(hhh](h)}(hbootloader_version (x86 only)h]hbootloader_version (x86 only)}(hjhhhNhNubah}(h]h ]h"]h$]h&]jzjTuh1hhj hhhhhKfubh)}(hlThe complete bootloader version number. In the example above, this file will contain the value 564 = 0x234.h]hlThe complete bootloader version number. In the example above, this file will contain the value 564 = 0x234.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhj hhubh)}(hwSee the ``type_of_loader`` and ``ext_loader_ver`` fields in Documentation/arch/x86/boot.rst for additional information.h](hSee the }(hj,hhhNhNubj4)}(h``type_of_loader``h]htype_of_loader}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj,ubh and }(hj,hhhNhNubj4)}(h``ext_loader_ver``h]hext_loader_ver}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj,ubhF fields in Documentation/arch/x86/boot.rst for additional information.}(hj,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKkhj hhubeh}(h]jZah ]h"]bootloader_version (x86 only)ah$]h&]uh1hhhhhhhhKfubh)}(hhh](h)}(hbpf_stats_enabledh]hbpf_stats_enabled}(hjhhhhNhNubah}(h]h ]h"]h$]h&]jzjvuh1hhjehhhhhKpubh)}(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 }(hjvhhhNhNubj4)}(h ``bpftool``h]hbpftool}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjvubh.}(hjvhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKrhjehhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1j-hjubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(h0h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(h#Don't collect statistics (default).h]h%Don’t collect statistics (default).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(hCollect statistics.h]hCollect statistics.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubeh}(h]h ]h"]h$]h&]uh1jChjubeh}(h]h ]h"]h$]h&]colsKuh1j(hjubah}(h]h ]h"]h$]h&]uh1j#hjehhhhhNubeh}(h]j|ah ]h"]bpf_stats_enabledah$]h&]uh1hhhhhhhhKpubh)}(hhh](h)}(hcad_pidh]hcad_pid}(hj=hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhj:hhhhhK~ubh)}(hThis is the pid which will be signalled on reboot (notably, by Ctrl-Alt-Delete). Writing a value to this file which doesn't correspond to a running process will result in ``-ESRCH``.h](hThis is the pid which will be signalled on reboot (notably, by Ctrl-Alt-Delete). Writing a value to this file which doesn’t correspond to a running process will result in }(hjKhhhNhNubj4)}(h ``-ESRCH``h]h-ESRCH}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjKubh.}(hjKhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj:hhubh)}(hSee also `ctrl-alt-del`_.h](h See also }(hjkhhhNhNubh)}(h`ctrl-alt-del`_h]h ctrl-alt-del}(hjshhhNhNubah}(h]h ]h"]h$]h&]name ctrl-alt-deljzjjuh1hhjkjKubh.}(hjkhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj:hhubeh}(h]jah ]h"]cad_pidah$]h&]uh1hhhhhhhhK~ubh)}(hhh](h)}(h cap_last_caph]h cap_last_cap}(hjhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjhhhhhKubh)}(hZHighest valid capability of the running kernel. Exports ``CAP_LAST_CAP`` from the kernel.h](h9Highest valid capability of the running kernel. Exports }(hjhhhNhNubj4)}(h``CAP_LAST_CAP``h]h CAP_LAST_CAP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh from the kernel.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubhtarget)}(h.. _core_pattern:h]h}(h]h ]h"]h$]h&]jzjuh1jhKhjhhhh referencedKubeh}(h]jah ]h"] cap_last_capah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h core_patternh]h core_pattern}(hjhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjhhhhhKubh)}(hA``core_pattern`` is used to specify a core dumpfile pattern name.h](j4)}(h``core_pattern``h]h core_pattern}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh1 is used to specify a core dumpfile pattern name.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh](j)}(h2max length 127 characters; default value is "core"h]h)}(hj h]h6max length 127 characters; default value is “core”}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(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}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj$ubh is used as a pattern template for the output filename; certain string patterns (beginning with ‘%’) are substituted with their actual values.}(hj$hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(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 }(hjJhhhNhNubj4)}(h``core_uses_pid``h]h core_uses_pid}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjJubh:}(hjJhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjFubh 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 }(hjphhhNhNubj4)}(h``core_pattern``h]h core_pattern}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjpubh2 does not include “%p” (default does not) and }(hjphhhNhNubj4)}(h``core_uses_pid``h]h core_uses_pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjpubh4 is set, then .PID will be appended to the filename.}(hjphhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjlubah}(h]h ]h"]h$]h&]uh1jjhhhKhjFubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(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&]uh1hhhhKhjubjk)}(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&]colwidthKuh1j-hjubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKEuh1j-hjubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(h%h]h%}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(h'%' is droppedh]h‘%’ is dropped}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%%h]h%%}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(houtput one '%'h]houtput one ‘%’}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%ph]h%p}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjRubah}(h]h ]h"]h$]h&]uh1jMhjOubjN)}(hhh]h)}(hpidh]hpid}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjiubah}(h]h ]h"]h$]h&]uh1jMhjOubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%Ph]h%P}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(hglobal pid (init PID namespace)h]hglobal pid (init PID namespace)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%ih]h%i}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(htidh]htid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%Ih]h%I}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(hglobal tid (init PID namespace)h]hglobal tid (init PID namespace)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%uh]h%u}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.ubah}(h]h ]h"]h$]h&]uh1jMhj+ubjN)}(hhh]h)}(huid (in initial user namespace)h]huid (in initial user namespace)}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjEubah}(h]h ]h"]h$]h&]uh1jMhj+ubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%gh]h%g}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjeubah}(h]h ]h"]h$]h&]uh1jMhjbubjN)}(hhh]h)}(hgid (in initial user namespace)h]hgid (in initial user namespace)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj|ubah}(h]h ]h"]h$]h&]uh1jMhjbubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%dh]h%d}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(hIdump mode, matches ``PR_SET_DUMPABLE`` and ``/proc/sys/fs/suid_dumpable``h](hdump mode, matches }(hjhhhNhNubj4)}(h``PR_SET_DUMPABLE``h]hPR_SET_DUMPABLE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh and }(hjhhhNhNubj4)}(h``/proc/sys/fs/suid_dumpable``h]h/proc/sys/fs/suid_dumpable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%sh]h%s}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(h signal numberh]h signal number}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%th]h%t}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj*ubah}(h]h ]h"]h$]h&]uh1jMhj'ubjN)}(hhh]h)}(hUNIX time of dumph]hUNIX time of dump}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjAubah}(h]h ]h"]h$]h&]uh1jMhj'ubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%hh]h%h}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjaubah}(h]h ]h"]h$]h&]uh1jMhj^ubjN)}(hhh]h)}(hhostnameh]hhostname}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjxubah}(h]h ]h"]h$]h&]uh1jMhj^ubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%eh]h%e}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(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&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%fh]h%f}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(hexecutable filenameh]hexecutable filename}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%Eh]h%E}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(hexecutable pathh]hexecutable path}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%ch]h%c}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj=ubah}(h]h ]h"]h$]h&]uh1jMhj:ubjN)}(hhh]h)}(h7maximum size of core file by resource limit RLIMIT_COREh]h7maximum size of core file by resource limit RLIMIT_CORE}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjTubah}(h]h ]h"]h$]h&]uh1jMhj:ubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%Ch]h%C}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjtubah}(h]h ]h"]h$]h&]uh1jMhjqubjN)}(hhh]h)}(hCPU the task ran onh]hCPU the task ran on}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjqubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%Fh]h%F}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(h pidfd numberh]h pidfd number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h%h]h%}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(hboth are droppedh]hboth are dropped}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubeh}(h]h ]h"]h$]h&]uh1jChjubeh}(h]h ]h"]h$]h&]colsKuh1j(hjubah}(h]h ]h"]h$]h&]uh1j#hjubah}(h]h ]h"]h$]h&]uh1jjhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(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.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]bullet*uh1jhhhKhjhhubeh}(h](jid1eh ]h"] core_patternah$] core_patternah&]uh1hhhhhhhhKjKexpect_referenced_by_name}jZjsexpect_referenced_by_id}jjsubh)}(hhh](h)}(hcore_pipe_limith]hcore_pipe_limit}(hjehhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjbhhhhhKubh)}(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 }(hjshhhNhNubh)}(h`core_pattern`_h]h core_pattern}(hj{hhhNhNubah}(h]h ]h"]h$]h&]name core_patternjzjuh1hhjsjKubhV is configured to pipe core files to a user space helper (when the first character of }(hjshhhNhNubj4)}(h``core_pattern``h]h core_pattern}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjsubh 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 }(hjshhhNhNubj4)}(h ``/proc/pid``h]h /proc/pid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjsubhX 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 }(hjshhhNhNubj4)}(h``/proc//``h]h/proc//}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjsubh). This value defaults to 0.}(hjshhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjbhhubeh}(h]jah ]h"]core_pipe_limitah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h core_sort_vmah]h core_sort_vma}(hjhhhNhNubah}(h]h ]h"]h$]h&]jzj uh1hhjhhhhhKubh)}(hXJThe default coredump writes VMAs in address order. By setting ``core_sort_vma`` to 1, VMAs will be written from smallest size to largest size. This is known to break at least elfutils, but can be handy when dealing with very large (and truncated) coredumps where the more useful debugging details are included in the smaller VMAs.h](h>The default coredump writes VMAs in address order. By setting }(hjhhhNhNubj4)}(h``core_sort_vma``h]h core_sort_vma}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh to 1, VMAs will be written from smallest size to largest size. This is known to break at least elfutils, but can be handy when dealing with very large (and truncated) coredumps where the more useful debugging details are included in the smaller VMAs.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]j&ah ]h"] core_sort_vmaah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h core_uses_pidh]h core_uses_pid}(hj hhhNhNubah}(h]h ]h"]h$]h&]jzjBuh1hhj hhhhhKubh)}(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}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh2 to 1, the coredump filename becomes core.PID. If }(hjhhhNhNubh)}(h`core_pattern`_h]h core_pattern}(hj5hhhNhNubah}(h]h ]h"]h$]h&]name core_patternjzjuh1hhjjKubh2 does not include “%p” (default does not) and }(hjhhhNhNubj4)}(h``core_uses_pid``h]h core_uses_pid}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh4 is set, then .PID will be appended to the filename.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h]jHah ]h"] core_uses_pidah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h ctrl-alt-delh]h ctrl-alt-del}(hjkhhhNhNubah}(h]h ]h"]h$]h&]jzjduh1hhjhhhhhhKubh)}(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 }(hjyhhhNhNubj4)}(h ``init(1)``h]hinit(1)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjyubh 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.}(hjyhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhhubhdefinition_list)}(hhh]hdefinition_list_item)}(hNote: when a program (like dosemu) has the keyboard in 'raw' mode, the ctrl-alt-del is intercepted by the program before it ever reaches the kernel tty layer, and it's up to the program to decide what to do with it. h](hterm)}(hNote:h]hNote:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubh definition)}(hhh]h)}(hwhen a program (like dosemu) has the keyboard in 'raw' mode, the ctrl-alt-del is intercepted by the program before it ever reaches the kernel tty layer, and it's up to the program to decide what to do with it.h]hwhen a program (like dosemu) has the keyboard in ‘raw’ mode, the ctrl-alt-del is intercepted by the program before it ever reaches the kernel tty layer, and it’s up to the program to decide what to do with it.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhhNubeh}(h]jjah ]h"] ctrl-alt-delah$]h&]uh1hhhhhhhhKjKubh)}(hhh](h)}(hdmesg_restricth]hdmesg_restrict}(hjhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjhhhhhKubh)}(hXThis toggle indicates whether unprivileged users are prevented from using ``dmesg(8)`` to view messages from the kernel's log buffer. When ``dmesg_restrict`` is set to 0 there are no restrictions. When ``dmesg_restrict`` is set to 1, users must have ``CAP_SYSLOG`` to use ``dmesg(8)``.h](hJThis toggle indicates whether unprivileged users are prevented from using }(hjhhhNhNubj4)}(h ``dmesg(8)``h]hdmesg(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh7 to view messages from the kernel’s log buffer. When }(hjhhhNhNubj4)}(h``dmesg_restrict``h]hdmesg_restrict}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh- is set to 0 there are no restrictions. When }(hjhhhNhNubj4)}(h``dmesg_restrict``h]hdmesg_restrict}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh is set to 1, users must have }(hjhhhNhNubj4)}(h``CAP_SYSLOG``h]h CAP_SYSLOG}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh to use }(hjhhhNhNubj4)}(h ``dmesg(8)``h]hdmesg(8)}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hiThe kernel config option ``CONFIG_SECURITY_DMESG_RESTRICT`` sets the default value of ``dmesg_restrict``.h](hThe kernel config option }(hjYhhhNhNubj4)}(h"``CONFIG_SECURITY_DMESG_RESTRICT``h]hCONFIG_SECURITY_DMESG_RESTRICT}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjYubh sets the default value of }(hjYhhhNhNubj4)}(h``dmesg_restrict``h]hdmesg_restrict}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjYubh.}(hjYhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]jah ]h"]dmesg_restrictah$]h&]uh1hhhhhhhhKjKubh)}(hhh](h)}(hdomainname & hostnameh]hdomainname & hostname}(hjhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjhhhhhM ubh)}(hThese files can be used to set the NIS/YP domainname and the hostname of your box in exactly the same way as the commands domainname and hostname, i.e.::h]hThese files can be used to set the NIS/YP domainname and the hostname of your box in exactly the same way as the commands domainname and hostname, i.e.:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj|)}(h]# echo "darkstar" > /proc/sys/kernel/hostname # echo "mydomain" > /proc/sys/kernel/domainnameh]h]# echo "darkstar" > /proc/sys/kernel/hostname # echo "mydomain" > /proc/sys/kernel/domainname}hjsbah}(h]h ]h"]h$]h&]hhuh1j{hhhMhjhhubh)}(hhas the same effect as::h]hhas the same effect as:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj|)}(h-# hostname "darkstar" # domainname "mydomain"h]h-# hostname "darkstar" # domainname "mydomain"}hjsbah}(h]h ]h"]h$]h&]hhuh1j{hhhMhjhhubh)}(hXVNote, however, that the classic darkstar.frop.org has the hostname "darkstar" and DNS (Internet Domain Name Server) domainname "frop.org", not to be confused with the NIS (Network Information Service) or YP (Yellow Pages) domainname. These two domain names are in general different. For a detailed discussion see the ``hostname(1)`` man page.h](hXENote, however, that the classic darkstar.frop.org has the hostname “darkstar” and DNS (Internet Domain Name Server) domainname “frop.org”, not to be confused with the NIS (Network Information Service) or YP (Yellow Pages) domainname. These two domain names are in general different. For a detailed discussion see the }(hjhhhNhNubj4)}(h``hostname(1)``h]h hostname(1)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh man page.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]jah ]h"]domainname & hostnameah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(hfirmware_configh]hfirmware_config}(hjhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjhhhhhM#ubh)}(h>See Documentation/driver-api/firmware/fallback-mechanisms.rst.h]h>See Documentation/driver-api/firmware/fallback-mechanisms.rst.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjhhubh)}(hYThe entries in this directory allow the firmware loader helper fallback to be controlled:h]hYThe entries in this directory allow the firmware loader helper fallback to be controlled:}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjhhubj)}(hhh](j)}(hH``force_sysfs_fallback``, when set to 1, forces the use of the fallback;h]h)}(hH``force_sysfs_fallback``, when set to 1, forces the use of the fallback;h](j4)}(h``force_sysfs_fallback``h]hforce_sysfs_fallback}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj6ubh0, when set to 1, forces the use of the fallback;}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM*hj2ubah}(h]h ]h"]h$]h&]uh1jhj/hhhhhNubj)}(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}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj\ubh&, when set to 1, ignores any fallback.}(hj\hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM,hjXubah}(h]h ]h"]h$]h&]uh1jhj/hhhhhNubeh}(h]h ]h"]h$]h&]jSjTuh1jhhhM*hjhhubeh}(h]jah ]h"]firmware_configah$]h&]uh1hhhhhhhhM#ubh)}(hhh](h)}(hftrace_dump_on_oopsh]hftrace_dump_on_oops}(hjhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjhhhhhM0ubh)}(hDetermines whether ``ftrace_dump()`` should be called on an oops (or kernel panic). This will output the contents of the ftrace buffers to the console. This is very useful for capturing traces that lead to crashes and outputting them to a serial console.h](hDetermines whether }(hjhhhNhNubj4)}(h``ftrace_dump()``h]h ftrace_dump()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh should be called on an oops (or kernel panic). This will output the contents of the ftrace buffers to the console. This is very useful for capturing traces that lead to crashes and outputting them to a serial console.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM2hjhhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK.uh1j-hjubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(hDisabled (default).h]hDisabled (default).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(hDump buffers of all CPUs.h]hDump buffers of all CPUs.}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hj(ubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h 2(orig_cpu)h]h 2(orig_cpu)}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hjHubah}(h]h ]h"]h$]h&]uh1jMhjEubjN)}(hhh]h)}(h3Dump the buffer of the CPU that triggered the oops.h]h3Dump the buffer of the CPU that triggered the oops.}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hj_ubah}(h]h ]h"]h$]h&]uh1jMhjEubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h h]h }(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1jMhj|ubjN)}(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&]uh1jMhj|ubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(h=2(orig_cpu)h]h=2(orig_cpu)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM=hjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(hEDump the specific instance buffer on the CPU that triggered the oops.h]hEDump the specific instance buffer on the CPU that triggered the oops.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM=hjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubeh}(h]h ]h"]h$]h&]uh1jChjubeh}(h]h ]h"]h$]h&]colsKuh1j(hjubah}(h]h ]h"]h$]h&]uh1j#hjhhhhhNubh)}(hMultiple instance dump is also supported, and instances are separated by commas. If global buffer also needs to be dumped, please specify the dump mode (1/2/orig_cpu) first for global buffer.h]hMultiple instance dump is also supported, and instances are separated by commas. If global buffer also needs to be dumped, please specify the dump mode (1/2/orig_cpu) first for global buffer.}(hjhhhNhNubah}(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:}(hj hhhNhNubah}(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&]hhuh1j{hhhMHhjhhubh)}(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:}(hj'hhhNhNubah}(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}hj5sbah}(h]h ]h"]h$]h&]hhuh1j{hhhMNhjhhubeh}(h]jah ]h"]ftrace_dump_on_oopsah$]h&]uh1hhhhhhhhM0ubh)}(hhh](h)}(h$ftrace_enabled, stack_tracer_enabledh]h$ftrace_enabled, stack_tracer_enabled}(hjMhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjJhhhhhMQubh)}(h#See Documentation/trace/ftrace.rst.h]h#See Documentation/trace/ftrace.rst.}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjJhhubeh}(h]jah ]h"]$ftrace_enabled, stack_tracer_enabledah$]h&]uh1hhhhhhhhMQubh)}(hhh](h)}(hhardlockup_all_cpu_backtraceh]hhardlockup_all_cpu_backtrace}(hjshhhNhNubah}(h]h ]h"]h$]h&]jzj0uh1hhjphhhhhMWubh)}(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&]uh1hhhhMYhjphhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1j-hjubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(h)Do nothing. This is the default behavior.h]h)Do nothing. This is the default behavior.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjubah}(h]h ]h"]h$]h&]uh1jMhjubjN)}(hhh]h)}(h,On detection capture more debug information.h]h,On detection capture more debug information.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjubah}(h]h ]h"]h$]h&]uh1jMhjubeh}(h]h ]h"]h$]h&]uh1jHhjubeh}(h]h ]h"]h$]h&]uh1jChjubeh}(h]h ]h"]h$]h&]colsKuh1j(hjubah}(h]h ]h"]h$]h&]uh1j#hjphhhhhNubeh}(h]j6ah ]h"]hardlockup_all_cpu_backtraceah$]h&]uh1hhhhhhhhMWubh)}(hhh](h)}(hhardlockup_panich]hhardlockup_panic}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]jzjRuh1hhj2 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.}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghj2 hhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjT ubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjT ubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hjt hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjq ubah}(h]h ]h"]h$]h&]uh1jMhjn ubjN)}(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&]uh1jMhjn ubeh}(h]h ]h"]h$]h&]uh1jHhjk ubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj ubah}(h]h ]h"]h$]h&]uh1jMhj ubjN)}(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&]uh1jMhj ubeh}(h]h ]h"]h$]h&]uh1jHhjk ubeh}(h]h ]h"]h$]h&]uh1jChjT ubeh}(h]h ]h"]h$]h&]colsKuh1j(hjQ ubah}(h]h ]h"]h$]h&]uh1j#hj2 hhhhhNubh)}(hSee Documentation/admin-guide/lockup-watchdogs.rst for more information. This can also be set using the nmi_watchdog kernel parameter.h]hSee Documentation/admin-guide/lockup-watchdogs.rst for more information. This can also be set using the nmi_watchdog kernel parameter.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohj2 hhubeh}(h]jXah ]h"]hardlockup_panicah$]h&]uh1hhhhhhhhMeubh)}(hhh](h)}(hhotplugh]hhotplug}(hj!hhhNhNubah}(h]h ]h"]h$]h&]jzjtuh1hhj!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 }(hj!hhhNhNubj4)}(h``CONFIG_UEVENT_HELPER_PATH``h]hCONFIG_UEVENT_HELPER_PATH}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj!ubh-, which in turn defaults to the empty string.}(hj!hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMvhj!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 }(hj3!hhhNhNubj4)}(h``CONFIG_UEVENT_HELPER``h]hCONFIG_UEVENT_HELPER}(hj;!hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj3!ubhk is enabled. Most modern systems rely exclusively on the netlink-based uevent source and don’t need this.}(hj3!hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMzhj!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&]jzjuh1hhjZ!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.}(hjk!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZ!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.}(hjy!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZ!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&]uh1hhhhMhjZ!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&]jzjuh1hhj!hhhhhMubh)}(hzControls the kernel's behavior when a hung task is detected. This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.h](hUControls the kernel’s behavior when a hung task is detected. This file shows up if }(hj!hhhNhNubj4)}(h``CONFIG_DETECT_HUNG_TASK``h]hCONFIG_DETECT_HUNG_TASK}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj!ubh is enabled.}(hj!hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj!hhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hj!ubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK1uh1j-hj!ubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jMhj!ubjN)}(hhh]h)}(h1Continue operation. This is the default behavior.h]h1Continue operation. This is the default behavior.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jMhj!ubeh}(h]h ]h"]h$]h&]uh1jHhj!ubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hj&"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#"ubah}(h]h ]h"]h$]h&]uh1jMhj "ubjN)}(hhh]h)}(hPanic immediately.h]hPanic immediately.}(hj<"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9"ubah}(h]h ]h"]h$]h&]uh1jMhj "ubeh}(h]h ]h"]h$]h&]uh1jHhj!ubeh}(h]h ]h"]h$]h&]uh1jChj!ubeh}(h]h ]h"]h$]h&]colsKuh1j(hj!ubah}(h]h ]h"]h$]h&]uh1j#hj!hhhhhNubeh}(h]jah ]h"]hung_task_panicah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hhung_task_check_counth]hhung_task_check_count}(hjs"hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjp"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&]uh1hhhhMhjp"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&]jzjuh1hhj"hhhhhMubh)}(hZIndicates the total number of tasks that have been detected as hung since the system boot.h]hZIndicates the total number of tasks that have been detected as hung since the system boot.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"hhubh)}(h=This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled.h](hThis file shows up if }(hj"hhhNhNubj4)}(h``CONFIG_DETECT_HUNG_TASK``h]hCONFIG_DETECT_HUNG_TASK}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj"ubh is enabled.}(hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj"hhubeh}(h]jah ]h"]hung_task_detect_countah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hhung_task_timeout_secsh]hhung_task_timeout_secs}(hj"hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhj"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 /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&]hhuh1j{hhhMThj)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.}(hj5*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj)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.}(hjC*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj)hhubeh}(h]jah ]h"]modprobeah$]h&]uh1hhhhhhhhMEubh)}(hhh](h)}(hmodules_disabledh]hmodules_disabled}(hj[*hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjX*hhhhhMeubh)}(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 }(hji*hhhNhNubh)}(h`kexec_load_disabled`_h]hkexec_load_disabled}(hjq*hhhNhNubah}(h]h ]h"]h$]h&]namekexec_load_disabledjzjuh1hhji*jKubh toggle.}(hji*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMghjX*hhubj)}(h .. _msgmni:h]h}(h]h ]h"]h$]h&]jzjuh1jhMnhjX*hhhhjKubeh}(h]jah ]h"]modules_disabledah$]h&]uh1hhhhhhhhMejKubh)}(hhh](h)}(hmsgmax, msgmnb, and msgmnih]hmsgmax, msgmnb, and msgmni}(hj*hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhj*hhhhhMqubh)}(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&]uh1hhhhMshj*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&]uh1hhhhMvhj*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&]uh1hhhhMyhj*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 }(hj7+hhhNhNubj4)}(h``RLIMIT_MSGQUEUE``h]hRLIMIT_MSGQUEUE}(hj?+hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj7+ubhD. This limit is respected hierarchically in the each user namespace.}(hj7+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM|hj*hhubeh}(h](jjeh ]h"](msgmax, msgmnb, and msgmnimsgmnieh$]h&]uh1hhhhhhhhMqj^}j\+j*sj`}jj*sjKubh)}(hhh](h)}(h8msg_next_id, sem_next_id, and shm_next_id (System V IPC)h]h8msg_next_id, sem_next_id, and shm_next_id (System V IPC)}(hjd+hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhja+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.}(hjr+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhja+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:}(hj+hhhNhNubj4)}(h ``INT_MAX``h]hINT_MAX}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj+ubh}.}(hj+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhja+hhubj)}(hhh]j)}(hXoNotes: 1) kernel doesn't guarantee, that new object will have desired id. So, it's up to userspace, how to handle an object with "wrong" id. 2) Toggle with non-default value will be set back to -1 by kernel after successful IPC object allocation. If an IPC object allocation syscall fails, it is undefined if the value remains unmodified or is reset to -1. h](j)}(hNotes:h]hNotes:}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMhj+ubj)}(hhh]henumerated_list)}(hhh](j)}(hkernel doesn't guarantee, that new object will have desired id. So, it's up to userspace, how to handle an object with "wrong" id.h]h)}(hkernel doesn't guarantee, that new object will have desired id. So, it's up to userspace, how to handle an object with "wrong" id.h]hkernel doesn’t guarantee, that new object will have desired id. So, it’s up to userspace, how to handle an object with “wrong” id.}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hToggle with non-default value will be set back to -1 by kernel after successful IPC object allocation. If an IPC object allocation syscall fails, it is undefined if the value remains unmodified or is reset to -1. h]h)}(hToggle with non-default value will be set back to -1 by kernel after successful IPC object allocation. If an IPC object allocation syscall fails, it is undefined if the value remains unmodified or is reset to -1.h]hToggle with non-default value will be set back to -1 by kernel after successful IPC object allocation. If an IPC object allocation syscall fails, it is undefined if the value remains unmodified or is reset to -1.}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix)uh1j+hj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhhhMhj+ubah}(h]h ]h"]h$]h&]uh1jhja+hhhNhNubeh}(h]jah ]h"]8msg_next_id, sem_next_id, and shm_next_id (system v ipc)ah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h ngroups_maxh]h ngroups_max}(hj,hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhj,hhhhhMubh)}(hMaximum number of supplementary groups, _i.e._ the maximum size which ``setgroups`` will accept. Exports ``NGROUPS_MAX`` from the kernel.h](hFMaximum number of supplementary groups, _i.e._ the maximum size which }(hj",hhhNhNubj4)}(h ``setgroups``h]h setgroups}(hj*,hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj",ubh will accept. Exports }(hj",hhhNhNubj4)}(h``NGROUPS_MAX``h]h NGROUPS_MAX}(hj<,hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj",ubh from the kernel.}(hj",hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj,hhubeh}(h]j"ah ]h"] ngroups_maxah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h nmi_watchdogh]h nmi_watchdog}(hj^,hhhNhNubah}(h]h ]h"]h$]h&]jzj>uh1hhj[,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.}(hjl,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[,hhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hj},ubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1j-hj},ubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1jMhj,ubjN)}(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&]uh1jMhj,ubeh}(h]h ]h"]h$]h&]uh1jHhj,ubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1jMhj,ubjN)}(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&]uh1jMhj,ubeh}(h]h ]h"]h$]h&]uh1jHhj,ubeh}(h]h ]h"]h$]h&]uh1jChj},ubeh}(h]h ]h"]h$]h&]colsKuh1j(hjz,ubah}(h]h ]h"]h$]h&]uh1j#hj[,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&]uh1hhhhMhj[,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&]uh1hhhhMhj[,hhubj|)}(hnmi_watchdog=1h]hnmi_watchdog=1}hj2-sbah}(h]h ]h"]h$]h&]hhuh1j{hhhMhj[,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&]uh1hhhhMhj[,hhubeh}(h]jDah ]h"] nmi_watchdogah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hnmi_wd_lpm_factor (PPC only)h]hnmi_wd_lpm_factor (PPC only)}(hjX-hhhNhNubah}(h]h ]h"]h$]h&]jzj`uh1hhjU-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 }(hjf-hhhNhNubj4)}(h``nmi_watchdog``h]h nmi_watchdog}(hjn-hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjf-ubh> is set to 1). This factor represents the percentage added to }(hjf-hhhNhNubj4)}(h``watchdog_thresh``h]hwatchdog_thresh}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1Qj3hjf-ubhb when calculating the NMI watchdog timeout during an LPM. The soft lockup timeout is not impacted.}(hjf-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjU-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&]uh1hhhhMhjU-hhubeh}(h]jfah ]h"]nmi_wd_lpm_factor (ppc only)ah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hnuma_balancingh]hnuma_balancing}(hj-hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhj-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&]colwidthKuh1j-hj-ubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1j-hj-ubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jMhj-ubjN)}(hhh]h)}(hNUMA_BALANCING_DISABLEDh]hNUMA_BALANCING_DISABLED}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.ubah}(h]h ]h"]h$]h&]uh1jMhj-ubeh}(h]h ]h"]h$]h&]uh1jHhj-ubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hj7.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4.ubah}(h]h ]h"]h$]h&]uh1jMhj1.ubjN)}(hhh]h)}(hNUMA_BALANCING_NORMALh]hNUMA_BALANCING_NORMAL}(hjM.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJ.ubah}(h]h ]h"]h$]h&]uh1jMhj1.ubeh}(h]h ]h"]h$]h&]uh1jHhj-ubjI)}(hhh](jN)}(hhh]h)}(hjh]h2}(hjm.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjj.ubah}(h]h ]h"]h$]h&]uh1jMhjg.ubjN)}(hhh]h)}(hNUMA_BALANCING_MEMORY_TIERINGh]hNUMA_BALANCING_MEMORY_TIERING}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.ubah}(h]h ]h"]h$]h&]uh1jMhjg.ubeh}(h]h ]h"]h$]h&]uh1jHhj-ubeh}(h]h ]h"]h$]h&]uh1jChj-ubeh}(h]h ]h"]h$]h&]colsKuh1j(hj-ubah}(h]h ]h"]h$]h&]uh1j#hj-hhhhhNubh)}(hXOr NUMA_BALANCING_NORMAL to optimize page placement among different NUMA nodes to reduce remote accessing. On NUMA machines, there is a performance penalty if remote memory is accessed by a CPU. When this feature is enabled the kernel samples what task thread is accessing memory by periodically unmapping pages and later trapping a page fault. At the time of the page fault, it is determined if the data being accessed should be migrated to a local memory node.h]hXOr NUMA_BALANCING_NORMAL to optimize page placement among different NUMA nodes to reduce remote accessing. On NUMA machines, there is a performance penalty if remote memory is accessed by a CPU. When this feature is enabled the kernel samples what task thread is accessing memory by periodically unmapping pages and later trapping a page fault. At the time of the page fault, it is determined if the data being accessed should be migrated to a local memory node.}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-hhubh)}(hThe unmapping of pages and trapping faults incur additional overhead that ideally is offset by improved memory locality but there is no universal guarantee. If the target workload is already bound to NUMA nodes then this feature should be disabled.h]hThe unmapping of pages and trapping faults incur additional overhead that ideally is offset by improved memory locality but there is no universal guarantee. If the target workload is already bound to NUMA nodes then this feature should be disabled.}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-hhubh)}(hOr NUMA_BALANCING_MEMORY_TIERING to optimize page placement among different types of memory (represented as different NUMA nodes) to place the hot pages in the fast memory. This is implemented based on unmapping and page fault too.h]hOr NUMA_BALANCING_MEMORY_TIERING to optimize page placement among different types of memory (represented as different NUMA nodes) to place the hot pages in the fast memory. This is implemented based on unmapping and page fault too.}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-hhubeh}(h]jah ]h"]numa_balancingah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h&numa_balancing_promote_rate_limit_MBpsh]h&numa_balancing_promote_rate_limit_MBps}(hj.hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhj.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&]jzjuh1hhj/hhhhhMubh)}(hX)If this option is set, the kernel will send an NMI to all CPUs to dump their backtraces when an oops event occurs. It should be used as a last resort in case a panic cannot be triggered (to protect VMs running, for example) or kdump can't be collected. This file shows up if CONFIG_SMP is enabled.h]hX+If this option is set, the kernel will send an NMI to all CPUs to dump their backtraces when an oops event occurs. It should be used as a last resort in case a panic cannot be triggered (to protect VMs running, for example) or kdump can’t be collected. This file shows up if CONFIG_SMP is enabled.}(hj&/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/hhubh)}(hY0: Won't show all CPUs backtraces when an oops is detected. This is the default behavior.h]h[0: Won’t show all CPUs backtraces when an oops is detected. This is the default behavior.}(hj4/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/hhubh)}(ha1: Will non-maskably interrupt all CPUs and dump their backtraces when an oops event is detected.h]ha1: Will non-maskably interrupt all CPUs and dump their backtraces when an oops event is detected.}(hjB/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/hhubeh}(h]jah ]h"]oops_all_cpu_backtraceah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h oops_limith]h oops_limit}(hjZ/hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjW/hhhhhMubh)}(hNumber of kernel oopses after which the kernel should panic when ``panic_on_oops`` is not set. Setting this to 0 disables checking the count. Setting this to 1 has the same effect as setting ``panic_on_oops=1``. The default value is 10000.h](hANumber of kernel oopses after which the kernel should panic when }(hjh/hhhNhNubj4)}(h``panic_on_oops``h]h panic_on_oops}(hjp/hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjh/ubhn is not set. Setting this to 0 disables checking the count. Setting this to 1 has the same effect as setting }(hjh/hhhNhNubj4)}(h``panic_on_oops=1``h]hpanic_on_oops=1}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjh/ubh. The default value is 10000.}(hjh/hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjW/hhubeh}(h]jah ]h"] oops_limitah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hosrelease, ostype & versionh]hosrelease, ostype & version}(hj/hhhNhNubah}(h]h ]h"]h$]h&]jzj uh1hhj/hhhhhMubj|)}(hW# cat osrelease 2.1.88 # cat ostype Linux # cat version #5 Wed Feb 25 21:49:24 MET 1998h]hW# cat osrelease 2.1.88 # cat ostype Linux # cat version #5 Wed Feb 25 21:49:24 MET 1998}hj/sbah}(h]h ]h"]h$]h&]hhuh1j{hhhMhj/hhubh)}(hX=The files ``osrelease`` and ``ostype`` should be clear enough. ``version`` needs a little more clarification however. The '#5' means that this is the fifth kernel built from this source base and the date behind it indicates the time the kernel was built. The only way to tune these values is to rebuild the kernel :-)h](h The files }(hj/hhhNhNubj4)}(h ``osrelease``h]h osrelease}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj/ubh and }(hj/hhhNhNubj4)}(h ``ostype``h]hostype}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj/ubh should be clear enough. }(hj/hhhNhNubj4)}(h ``version``h]hversion}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj/ubh needs a little more clarification however. The ‘#5’ means that this is the fifth kernel built from this source base and the date behind it indicates the time the kernel was built. The only way to tune these values is to rebuild the kernel :-)}(hj/hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hj/hhubeh}(h]jah ]h"]osrelease, ostype & versionah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hoverflowgid & overflowuidh]hoverflowgid & overflowuid}(hj0hhhNhNubah}(h]h ]h"]h$]h&]jzj,uh1hhj 0hhhhhMubh)}(hif your architecture did not always support 32-bit UIDs (i.e. arm, i386, m68k, sh, and sparc32), a fixed UID and GID will be returned to applications that use the old 16-bit UID/GID system calls, if the actual UID or GID would exceed 65535.h]hif your architecture did not always support 32-bit UIDs (i.e. arm, i386, m68k, sh, and sparc32), a fixed UID and GID will be returned to applications that use the old 16-bit UID/GID system calls, if the actual UID or GID would exceed 65535.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj 0hhubh)}(h[These sysctls allow you to change the value of the fixed UID and GID. The default is 65534.h]h[These sysctls allow you to change the value of the fixed UID and GID. The default is 65534.}(hj*0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj 0hhubeh}(h]j2ah ]h"]overflowgid & overflowuidah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hpanich]hpanic}(hjB0hhhNhNubah}(h]h ]h"]h$]h&]jzjNuh1hhj?0hhhhhM"ubh)}(hIThe value in this file determines the behaviour of the kernel on a panic:h]hIThe value in this file determines the behaviour of the kernel on a panic:}(hjP0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hj?0hhubj)}(hhh](j)}(h&if zero, the kernel will loop forever;h]h)}(hjc0h]h&if zero, the kernel will loop forever;}(hje0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hja0ubah}(h]h ]h"]h$]h&]uh1jhj^0hhhhhNubj)}(h0if negative, the kernel will reboot immediately;h]h)}(hjz0h]h0if negative, the kernel will reboot immediately;}(hj|0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjx0ubah}(h]h ]h"]h$]h&]uh1jhj^0hhhhhNubj)}(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.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM)hj0ubah}(h]h ]h"]h$]h&]uh1jhj^0hhhhhNubeh}(h]h ]h"]h$]h&]jSjTuh1jhhhM'hj?0hhubh)}(hBWhen you use the software watchdog, the recommended setting is 60.h]hBWhen you use the software watchdog, the recommended setting is 60.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hj?0hhubeh}(h]jTah ]h"]panicah$]h&]uh1hhhhhhhhM"ubh)}(hhh](h)}(hpanic_on_io_nmih]hpanic_on_io_nmi}(hj0hhhNhNubah}(h]h ]h"]h$]h&]jzjpuh1hhj0hhhhhM0ubh)}(hPControls the kernel's behavior when a CPU receives an NMI caused by an IO error.h]hRControls the kernel’s behavior when a CPU receives an NMI caused by an IO error.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hj0hhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hj0ubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKBuh1j-hj0ubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hj1ubah}(h]h ]h"]h$]h&]uh1jMhj0ubjN)}(hhh]h)}(h$Try to continue operation (default).h]h$Try to continue operation (default).}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hj1ubah}(h]h ]h"]h$]h&]uh1jMhj0ubeh}(h]h ]h"]h$]h&]uh1jHhj0ubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hj:1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hj71ubah}(h]h ]h"]h$]h&]uh1jMhj41ubjN)}(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.}(hjP1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjM1ubah}(h]h ]h"]h$]h&]uh1jMhj41ubeh}(h]h ]h"]h$]h&]uh1jHhj0ubeh}(h]h ]h"]h$]h&]uh1jChj0ubeh}(h]h ]h"]h$]h&]colsKuh1j(hj0ubah}(h]h ]h"]h$]h&]uh1j#hj0hhhhhNubeh}(h]jvah ]h"]panic_on_io_nmiah$]h&]uh1hhhhhhhhM0ubh)}(hhh](h)}(h panic_on_oopsh]h panic_on_oops}(hj1hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhj1hhhhhM@ubh)}(hCControls the kernel's behaviour when an oops or BUG is encountered.h]hEControls the kernel’s behaviour when an oops or BUG is encountered.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhj1hhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hj1ubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKCuh1j-hj1ubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhj1ubah}(h]h ]h"]h$]h&]uh1jMhj1ubjN)}(hhh]h)}(hTry to continue operation.h]hTry to continue operation.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhj1ubah}(h]h ]h"]h$]h&]uh1jMhj1ubeh}(h]h ]h"]h$]h&]uh1jHhj1ubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhj1ubah}(h]h ]h"]h$]h&]uh1jMhj1ubjN)}(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}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj2ubh; sysctl is also non-zero then the machine will be rebooted.}(hj2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMFhj2ubah}(h]h ]h"]h$]h&]uh1jMhj1ubeh}(h]h ]h"]h$]h&]uh1jHhj1ubeh}(h]h ]h"]h$]h&]uh1jChj1ubeh}(h]h ]h"]h$]h&]colsKuh1j(hj1ubah}(h]h ]h"]h$]h&]uh1j#hj1hhhhhNubeh}(h]jah ]h"] panic_on_oopsah$]h&]uh1hhhhhhhhM@ubh)}(hhh](h)}(hpanic_on_stackoverflowh]hpanic_on_stackoverflow}(hj]2hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjZ2hhhhhMLubh)}(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 }(hjk2hhhNhNubj4)}(h``CONFIG_DEBUG_STACKOVERFLOW``h]hCONFIG_DEBUG_STACKOVERFLOW}(hjs2hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjk2ubh is enabled.}(hjk2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMNhjZ2hhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hj2ubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hj2ubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShj2ubah}(h]h ]h"]h$]h&]uh1jMhj2ubjN)}(hhh]h)}(hTry to continue operation.h]hTry to continue operation.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShj2ubah}(h]h ]h"]h$]h&]uh1jMhj2ubeh}(h]h ]h"]h$]h&]uh1jHhj2ubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj2ubah}(h]h ]h"]h$]h&]uh1jMhj2ubjN)}(hhh]h)}(hPanic immediately.h]hPanic immediately.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj2ubah}(h]h ]h"]h$]h&]uh1jMhj2ubeh}(h]h ]h"]h$]h&]uh1jHhj2ubeh}(h]h ]h"]h$]h&]uh1jChj2ubeh}(h]h ]h"]h$]h&]colsKuh1j(hj2ubah}(h]h ]h"]h$]h&]uh1j#hjZ2hhhhhNubeh}(h]jah ]h"]panic_on_stackoverflowah$]h&]uh1hhhhhhhhMLubh)}(hhh](h)}(hpanic_on_unrecovered_nmih]hpanic_on_unrecovered_nmi}(hj13hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhj.3hhhhhMYubh)}(hXThe default Linux behaviour on an NMI of either memory or unknown is to continue operation. For many environments such as scientific computing it is preferable that the box is taken out and the error dealt with than an uncorrected parity/ECC error get propagated.h]hXThe default Linux behaviour on an NMI of either memory or unknown is to continue operation. For many environments such as scientific computing it is preferable that the box is taken out and the error dealt with than an uncorrected parity/ECC error get propagated.}(hj?3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hj.3hhubh)}(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.}(hjM3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj.3hhubeh}(h]jah ]h"]panic_on_unrecovered_nmiah$]h&]uh1hhhhhhhhMYubh)}(hhh](h)}(h panic_on_warnh]h panic_on_warn}(hje3hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjb3hhhhhMfubh)}(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().}(hjs3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjb3hhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hj3ubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK0uh1j-hj3ubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj3ubah}(h]h ]h"]h$]h&]uh1jMhj3ubjN)}(hhh]h)}(hOnly WARN(), default behaviour.h]hOnly WARN(), default behaviour.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj3ubah}(h]h ]h"]h$]h&]uh1jMhj3ubeh}(h]h ]h"]h$]h&]uh1jHhj3ubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhj3ubah}(h]h ]h"]h$]h&]uh1jMhj3ubjN)}(hhh]h)}(h0Call panic() after printing out WARN() location.h]h0Call panic() after printing out WARN() location.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhj3ubah}(h]h ]h"]h$]h&]uh1jMhj3ubeh}(h]h ]h"]h$]h&]uh1jHhj3ubeh}(h]h ]h"]h$]h&]uh1jChj3ubeh}(h]h ]h"]h$]h&]colsKuh1j(hj3ubah}(h]h ]h"]h$]h&]uh1j#hjb3hhhhhNubeh}(h]jah ]h"] panic_on_warnah$]h&]uh1hhhhhhhhMfubh)}(hhh](h)}(h panic_printh]h panic_print}(hj'4hhhNhNubah}(h]h ]h"]h$]h&]jzj uh1hhj$4hhhhhMrubh)}(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:}(hj54hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj$4hhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjF4ubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1j-hjF4ubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hbit 0h]hbit 0}(hjf4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjc4ubah}(h]h ]h"]h$]h&]uh1jMhj`4ubjN)}(hhh]h)}(hprint all tasks infoh]hprint all tasks info}(hj}4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjz4ubah}(h]h ]h"]h$]h&]uh1jMhj`4ubeh}(h]h ]h"]h$]h&]uh1jHhj]4ubjI)}(hhh](jN)}(hhh]h)}(hbit 1h]hbit 1}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhj4ubah}(h]h ]h"]h$]h&]uh1jMhj4ubjN)}(hhh]h)}(hprint system memory infoh]hprint system memory info}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhj4ubah}(h]h ]h"]h$]h&]uh1jMhj4ubeh}(h]h ]h"]h$]h&]uh1jHhj]4ubjI)}(hhh](jN)}(hhh]h)}(hbit 2h]hbit 2}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhj4ubah}(h]h ]h"]h$]h&]uh1jMhj4ubjN)}(hhh]h)}(hprint timer infoh]hprint timer info}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhj4ubah}(h]h ]h"]h$]h&]uh1jMhj4ubeh}(h]h ]h"]h$]h&]uh1jHhj]4ubjI)}(hhh](jN)}(hhh]h)}(hbit 3h]hbit 3}(hj 5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hj5ubah}(h]h ]h"]h$]h&]uh1jMhj5ubjN)}(hhh]h)}(h,print locks info if ``CONFIG_LOCKDEP`` is onh](hprint locks info if }(hj"5hhhNhNubj4)}(h``CONFIG_LOCKDEP``h]hCONFIG_LOCKDEP}(hj*5hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj"5ubh is on}(hj"5hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM{hj5ubah}(h]h ]h"]h$]h&]uh1jMhj5ubeh}(h]h ]h"]h$]h&]uh1jHhj]4ubjI)}(hhh](jN)}(hhh]h)}(hbit 4h]hbit 4}(hjT5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjQ5ubah}(h]h ]h"]h$]h&]uh1jMhjN5ubjN)}(hhh]h)}(hprint ftrace bufferh]hprint ftrace buffer}(hjk5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjh5ubah}(h]h ]h"]h$]h&]uh1jMhjN5ubeh}(h]h ]h"]h$]h&]uh1jHhj]4ubjI)}(hhh](jN)}(hhh]h)}(hbit 5h]hbit 5}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hj5ubah}(h]h ]h"]h$]h&]uh1jMhj5ubjN)}(hhh]h)}(h3replay all messages on consoles at the end of panich]h3replay all messages on consoles at the end of panic}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hj5ubah}(h]h ]h"]h$]h&]uh1jMhj5ubeh}(h]h ]h"]h$]h&]uh1jHhj]4ubjI)}(hhh](jN)}(hhh]h)}(hbit 6h]hbit 6}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hj5ubah}(h]h ]h"]h$]h&]uh1jMhj5ubjN)}(hhh]h)}(h3print all CPUs backtrace (if available in the arch)h]h3print all CPUs backtrace (if available in the arch)}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hj5ubah}(h]h ]h"]h$]h&]uh1jMhj5ubeh}(h]h ]h"]h$]h&]uh1jHhj]4ubjI)}(hhh](jN)}(hhh]h)}(hbit 7h]hbit 7}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jMhj5ubjN)}(hhh]h)}(h3print only tasks in uninterruptible (blocked) stateh]h3print only tasks in uninterruptible (blocked) state}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj 6ubah}(h]h ]h"]h$]h&]uh1jMhj5ubeh}(h]h ]h"]h$]h&]uh1jHhj]4ubeh}(h]h ]h"]h$]h&]uh1jChjF4ubeh}(h]h ]h"]h$]h&]colsKuh1j(hjC4ubah}(h]h ]h"]h$]h&]uh1j#hj$4hhhhhNubh)}(hBSo for example to print tasks and memory info on panic, user can::h]hASo for example to print tasks and memory info on panic, user can:}(hj=6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$4hhubj|)}(h%echo 3 > /proc/sys/kernel/panic_printh]h%echo 3 > /proc/sys/kernel/panic_print}hjK6sbah}(h]h ]h"]h$]h&]hhuh1j{hhhMhj$4hhubeh}(h]j ah ]h"] panic_printah$]h&]uh1hhhhhhhhMrubh)}(hhh](h)}(hpanic_sys_infoh]hpanic_sys_info}(hjc6hhhNhNubah}(h]h ]h"]h$]h&]jzj< uh1hhj`6hhhhhMubh)}(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:}(hjq6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`6hhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j-hj6ubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1j-hj6ubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(htasksh]htasks}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jMhj6ubjN)}(hhh]h)}(hprint all tasks infoh]hprint all tasks info}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jMhj6ubeh}(h]h ]h"]h$]h&]uh1jHhj6ubjI)}(hhh](jN)}(hhh]h)}(hmemh]hmem}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jMhj6ubjN)}(hhh]h)}(hprint system memory infoh]hprint system memory info}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jMhj6ubeh}(h]h ]h"]h$]h&]uh1jHhj6ubjI)}(hhh](jN)}(hhh]h)}(htimerh]htimer}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj 7ubah}(h]h ]h"]h$]h&]uh1jMhj 7ubjN)}(hhh]h)}(hprint timers infoh]hprint timers info}(hj'7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$7ubah}(h]h ]h"]h$]h&]uh1jMhj 7ubeh}(h]h ]h"]h$]h&]uh1jHhj6ubjI)}(hhh](jN)}(hhh]h)}(hlockh]hlock}(hjG7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjD7ubah}(h]h ]h"]h$]h&]uh1jMhjA7ubjN)}(hhh]h)}(h(print locks info if CONFIG_LOCKDEP is onh]h(print locks info if CONFIG_LOCKDEP is on}(hj^7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[7ubah}(h]h ]h"]h$]h&]uh1jMhjA7ubeh}(h]h ]h"]h$]h&]uh1jHhj6ubjI)}(hhh](jN)}(hhh]h)}(hftraceh]hftrace}(hj~7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{7ubah}(h]h ]h"]h$]h&]uh1jMhjx7ubjN)}(hhh]h)}(hprint ftrace bufferh]hprint ftrace buffer}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jMhjx7ubeh}(h]h ]h"]h$]h&]uh1jHhj6ubjI)}(hhh](jN)}(hhh]h)}(hall_bth]hall_bt}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jMhj7ubjN)}(hhh]h)}(h3print all CPUs backtrace (if available in the arch)h]h3print all CPUs backtrace (if available in the arch)}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jMhj7ubeh}(h]h ]h"]h$]h&]uh1jHhj6ubjI)}(hhh](jN)}(hhh]h)}(h blocked_tasksh]h blocked_tasks}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jMhj7ubjN)}(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&]uh1jMhj7ubeh}(h]h ]h"]h$]h&]uh1jHhj6ubeh}(h]h ]h"]h$]h&]uh1jChj6ubeh}(h]h ]h"]h$]h&]colsKuh1j(hj6ubah}(h]h ]h"]h$]h&]uh1j#hj`6hhhhhNubeh}(h]jB ah ]h"]panic_sys_infoah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hpanic_on_rcu_stallh]hpanic_on_rcu_stall}(hj:8hhhNhNubah}(h]h ]h"]h$]h&]jzj^ uh1hhj78hhhhhMubh)}(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.}(hjH8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj78hhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjY8ubj.)}(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&]uh1jMhj:ubjN)}(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&]uh1jMhj:ubeh}(h]h ]h"]h$]h&]uh1jHhji:ubjI)}(hhh](jN)}(hhh]h)}(h>=1h]h>=1}(hj2;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/;ubah}(h]h ]h"]h$]h&]uh1jMhj,;ubjN)}(hhh]h)}(h;Disallow CPU event access by users without ``CAP_PERFMON``.h](h+Disallow CPU event access by users without }(hjI;hhhNhNubj4)}(h``CAP_PERFMON``h]h CAP_PERFMON}(hjQ;hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjI;ubh.}(hjI;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjF;ubah}(h]h ]h"]h$]h&]uh1jMhj,;ubeh}(h]h ]h"]h$]h&]uh1jHhji:ubjI)}(hhh](jN)}(hhh]h)}(h>=2h]h>=2}(hj{;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjx;ubah}(h]h ]h"]h$]h&]uh1jMhju;ubjN)}(hhh]h)}(h;Disallow kernel profiling by users without ``CAP_PERFMON``.h](h+Disallow kernel profiling 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;ubah}(h]h ]h"]h$]h&]uh1jMhju;ubeh}(h]h ]h"]h$]h&]uh1jHhji:ubeh}(h]h ]h"]h$]h&]uh1jChjR:ubeh}(h]h ]h"]h$]h&]colsKuh1j(hjO:ubah}(h]h ]h"]h$]h&]uh1j#hj":hhhhhNubeh}(h]j ah ]h"]perf_event_paranoidah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hperf_event_max_stackh]hperf_event_max_stack}(hj;hhhNhNubah}(h]h ]h"]h$]h&]jzj 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}(hj5<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.}(hjM<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;hhubeh}(h]j ah ]h"]perf_event_max_stackah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hperf_event_mlock_kbh]hperf_event_mlock_kb}(hje<hhhNhNubah}(h]h ]h"]h$]h&]jzj uh1hhjb<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.}(hjs<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjb<hhubh)}(h!The default value is 512 + 1 pageh]h!The default value is 512 + 1 page}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjb<hhubeh}(h]j ah ]h"]perf_event_mlock_kbah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h!perf_event_max_contexts_per_stackh]h!perf_event_max_contexts_per_stack}(hj<hhhNhNubah}(h]h ]h"]h$]h&]jzj* 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&]jzj 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&]jzj uh1hhj#>hhhhhM2ubh)}(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.}(hj4>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hj#>hhubeh}(h]j ah ]h"]powersave-nap (ppc only)ah$]h&]uh1hhhhhhhhM2ubj )}(h>==============================================================h]h}(h]h ]h"]h$]h&]uh1jhhhM8hhhhubh)}(hhh](h)}(hprintkh]hprintk}(hjV>hhhNhNubah}(h]h ]h"]h$]h&]jzj uh1hhjS>hhhhhM;ubh)}(hThe four values in printk denote: ``console_loglevel``, ``default_message_loglevel``, ``minimum_console_loglevel`` and ``default_console_loglevel`` respectively.h](h"The four values in printk denote: }(hjd>hhhNhNubj4)}(h``console_loglevel``h]hconsole_loglevel}(hjl>hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjd>ubh, }(hjd>hhhNhNubj4)}(h``default_message_loglevel``h]hdefault_message_loglevel}(hj~>hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjd>ubh, }(hjd>hhhNhNubj4)}(h``minimum_console_loglevel``h]hminimum_console_loglevel}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjd>ubh and }(hjd>hhhNhNubj4)}(h``default_console_loglevel``h]hdefault_console_loglevel}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjd>ubh respectively.}(hjd>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM=hjS>hhubh)}(hThese values influence printk() behavior when printing or logging error messages. See '``man 2 syslog``' for more info on the different loglevels.h](hYThese values influence printk() behavior when printing or logging error messages. See ‘}(hj>hhhNhNubj4)}(h``man 2 syslog``h]h man 2 syslog}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj>ubh-’ for more info on the different loglevels.}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMAhjS>hhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hj>ubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1j-hj>ubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hconsole_loglevelh]hconsole_loglevel}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhj>ubah}(h]h ]h"]h$]h&]uh1jMhj>ubjN)}(hhh]h)}(hHmessages with a higher priority than this will be printed to the consoleh]hHmessages with a higher priority than this will be printed to the console}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhj?ubah}(h]h ]h"]h$]h&]uh1jMhj>ubeh}(h]h ]h"]h$]h&]uh1jHhj>ubjI)}(hhh](jN)}(hhh]h)}(hdefault_message_loglevelh]hdefault_message_loglevel}(hj4?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhj1?ubah}(h]h ]h"]h$]h&]uh1jMhj.?ubjN)}(hhh]h)}(hHmessages without an explicit priority will be printed with this priorityh]hHmessages without an explicit priority will be printed with this priority}(hjK?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhjH?ubah}(h]h ]h"]h$]h&]uh1jMhj.?ubeh}(h]h ]h"]h$]h&]uh1jHhj>ubjI)}(hhh](jN)}(hhh]h)}(hminimum_console_loglevelh]hminimum_console_loglevel}(hjk?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhjh?ubah}(h]h ]h"]h$]h&]uh1jMhje?ubjN)}(hhh]h)}(hubjI)}(hhh](jN)}(hhh]h)}(hdefault_console_loglevelh]hdefault_console_loglevel}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhj?ubah}(h]h ]h"]h$]h&]uh1jMhj?ubjN)}(hhh]h)}(h"default value for console_loglevelh]h"default value for console_loglevel}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhj?ubah}(h]h ]h"]h$]h&]uh1jMhj?ubeh}(h]h ]h"]h$]h&]uh1jHhj>ubeh}(h]h ]h"]h$]h&]uh1jChj>ubeh}(h]h ]h"]h$]h&]colsKuh1j(hj>ubah}(h]h ]h"]h$]h&]uh1j#hjS>hhhhhNubeh}(h]j ah ]h"]printkah$]h&]uh1hhhhhhhhM;ubh)}(hhh](h)}(h printk_delayh]h printk_delay}(hj?hhhNhNubah}(h]h ]h"]h$]h&]jzj uh1hhj?hhhhhMQubh)}(h:Delay each printk message in ``printk_delay`` millisecondsh](hDelay each printk message in }(hj?hhhNhNubj4)}(h``printk_delay``h]h printk_delay}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj?ubh milliseconds}(hj?hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMShj?hhubh)}(h Value from 0 - 10000 is allowed.h]h Value from 0 - 10000 is allowed.}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhj?hhubeh}(h]j ah ]h"] printk_delayah$]h&]uh1hhhhhhhhMQubh)}(hhh](h)}(hprintk_ratelimith]hprintk_ratelimit}(hj6@hhhNhNubah}(h]h ]h"]h$]h&]jzj uh1hhj3@hhhhhMYubh)}(hSome warning messages are rate limited. ``printk_ratelimit`` specifies the minimum length of time between these messages (in seconds). The default value is 5 seconds.h](h(Some warning messages are rate limited. }(hjD@hhhNhNubj4)}(h``printk_ratelimit``h]hprintk_ratelimit}(hjL@hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjD@ubhj specifies the minimum length of time between these messages (in seconds). The default value is 5 seconds.}(hjD@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM[hj3@hhubh)}(h(A value of 0 will disable rate limiting.h]h(A value of 0 will disable rate limiting.}(hjd@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj3@hhubeh}(h]j ah ]h"]printk_ratelimitah$]h&]uh1hhhhhhhhMYjKubh)}(hhh](h)}(hprintk_ratelimit_bursth]hprintk_ratelimit_burst}(hj|@hhhNhNubah}(h]h ]h"]h$]h&]jzj: uh1hhjy@hhhhhMcubh)}(hX6While long term we enforce one message per `printk_ratelimit`_ seconds, we do allow a burst of messages to pass through. ``printk_ratelimit_burst`` specifies the number of messages we can send before ratelimiting kicks in. After `printk_ratelimit`_ seconds have elapsed, another burst of messages may be sent.h](h+While long term we enforce one message per }(hj@hhhNhNubh)}(h`printk_ratelimit`_h]hprintk_ratelimit}(hj@hhhNhNubah}(h]h ]h"]h$]h&]nameprintk_ratelimitjzj uh1hhj@jKubh; seconds, we do allow a burst of messages to pass through. }(hj@hhhNhNubj4)}(h``printk_ratelimit_burst``h]hprintk_ratelimit_burst}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj@ubhS specifies the number of messages we can send before ratelimiting kicks in. After }(hj@hhhNhNubh)}(h`printk_ratelimit`_h]hprintk_ratelimit}(hj@hhhNhNubah}(h]h ]h"]h$]h&]nameprintk_ratelimitjzj uh1hhj@jKubh= seconds have elapsed, another burst of messages may be sent.}(hj@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMehjy@hhubh)}(h!The default value is 10 messages.h]h!The default value is 10 messages.}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjy@hhubeh}(h]j@ ah ]h"]printk_ratelimit_burstah$]h&]uh1hhhhhhhhMcubh)}(hhh](h)}(hprintk_devkmsgh]hprintk_devkmsg}(hj@hhhNhNubah}(h]h ]h"]h$]h&]jzj\ uh1hhj@hhhhhMoubh)}(h4Control the logging to ``/dev/kmsg`` from userspace:h](hControl the logging to }(hj@hhhNhNubj4)}(h ``/dev/kmsg``h]h /dev/kmsg}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj@ubh from userspace:}(hj@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMqhj@hhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1j-hjAubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1j-hjAubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(h ratelimith]h ratelimit}(hj;AhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj8Aubah}(h]h ]h"]h$]h&]uh1jMhj5AubjN)}(hhh]h)}(hdefault, ratelimitedh]hdefault, ratelimited}(hjRAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjOAubah}(h]h ]h"]h$]h&]uh1jMhj5Aubeh}(h]h ]h"]h$]h&]uh1jHhj2AubjI)}(hhh](jN)}(hhh]h)}(honh]hon}(hjrAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhjoAubah}(h]h ]h"]h$]h&]uh1jMhjlAubjN)}(hhh]h)}(h-unlimited logging to /dev/kmsg from userspaceh]h-unlimited logging to /dev/kmsg from userspace}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhjAubah}(h]h ]h"]h$]h&]uh1jMhjlAubeh}(h]h ]h"]h$]h&]uh1jHhj2AubjI)}(hhh](jN)}(hhh]h)}(hoffh]hoff}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjAubah}(h]h ]h"]h$]h&]uh1jMhjAubjN)}(hhh]h)}(hlogging to /dev/kmsg disabledh]hlogging to /dev/kmsg disabled}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjAubah}(h]h ]h"]h$]h&]uh1jMhjAubeh}(h]h ]h"]h$]h&]uh1jHhj2Aubeh}(h]h ]h"]h$]h&]uh1jChjAubeh}(h]h ]h"]h$]h&]colsKuh1j(hjAubah}(h]h ]h"]h$]h&]uh1j#hj@hhhhhNubh)}(hThe kernel command line parameter ``printk.devkmsg=`` overrides this and is a one-time setting until next reboot: once set, it cannot be changed by this sysctl interface anymore.h](h"The kernel command line parameter }(hjAhhhNhNubj4)}(h``printk.devkmsg=``h]hprintk.devkmsg=}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjAubh} overrides this and is a one-time setting until next reboot: once set, it cannot be changed by this sysctl interface anymore.}(hjAhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMyhj@hhubeh}(h]jb ah ]h"]printk_devkmsgah$]h&]uh1hhhhhhhhMoubj )}(h>==============================================================h]h}(h]h ]h"]h$]h&]uh1jhhhM}hhhhubh)}(hhh](h)}(hptyh]hpty}(hj!BhhhNhNubah}(h]h ]h"]h$]h&]jzj~ uh1hhjBhhhhhMubh)}(h)See Documentation/filesystems/devpts.rst.h]h)See Documentation/filesystems/devpts.rst.}(hj/BhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjBhhubeh}(h]j ah ]h"]ptyah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hrandomh]hrandom}(hjGBhhhNhNubah}(h]h ]h"]h$]h&]jzj uh1hhjDBhhhhhMubh)}(h0This is a directory, with the following entries:h]h0This is a directory, with the following entries:}(hjUBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjDBhhubj)}(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}(hjnBhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjjBubhN: a UUID generated the first time this is retrieved, and unvarying after that;}(hjjBhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjfBubah}(h]h ]h"]h$]h&]uh1jhjcBhhhhhNubj)}(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}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjBubhb: a UUID generated every time this is retrieved (this can thus be used to generate UUIDs at will);}(hjBhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1jhjcBhhhhhNubj)}(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}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjBubh&: the pool’s entropy count, in bits;}(hjBhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1jhjcBhhhhhNubj)}(h.``poolsize``: the entropy pool size, in bits; h]h)}(h-``poolsize``: the entropy pool size, in bits;h](j4)}(h ``poolsize``h]hpoolsize}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjBubh!: the entropy pool size, in bits;}(hjBhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1jhjcBhhhhhNubj)}(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&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1jhjcBhhhhhNubj)}(h``write_wakeup_threshold``: when the entropy count drops below this (as a number of bits), processes waiting to write to ``/dev/random`` are woken up. This file is writable for compatibility purposes, but writing to it has no effect on any RNG behavior. h]h)}(h``write_wakeup_threshold``: when the entropy count drops below this (as a number of bits), processes waiting to write to ``/dev/random`` are woken up. This file is writable for compatibility purposes, but writing to it has no effect on any RNG behavior.h](j4)}(h``write_wakeup_threshold``h]hwrite_wakeup_threshold}(hj,ChhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj(Cubh_: when the entropy count drops below this (as a number of bits), processes waiting to write to }(hj(ChhhNhNubj4)}(h``/dev/random``h]h /dev/random}(hj>ChhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj(Cubhu are woken up. This file is writable for compatibility purposes, but writing to it has no effect on any RNG behavior.}(hj(ChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj$Cubah}(h]h ]h"]h$]h&]uh1jhjcBhhhhhNubeh}(h]h ]h"]h$]h&]jSjTuh1jhhhMhjDBhhubeh}(h]j ah ]h"]randomah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hrandomize_va_spaceh]hrandomize_va_space}(hjlChhhNhNubah}(h]h ]h"]h$]h&]jzj uh1hhjiChhhhhMubh)}(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.}(hjzChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiChhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjCubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKKuh1j-hjCubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1jMhjCubjN)}(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.}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1jMhjCubeh}(h]h ]h"]h$]h&]uh1jHhjCubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1jMhjCubjN)}(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 }(hjChhhNhNubj4)}(h``CONFIG_COMPAT_BRK``h]hCONFIG_COMPAT_BRK}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjCubh option is enabled.}(hjChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1jMhjCubeh}(h]h ]h"]h$]h&]uh1jHhjCubjI)}(hhh](jN)}(hhh]h)}(hjh]h2}(hj)DhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&Dubah}(h]h ]h"]h$]h&]uh1jMhj#DubjN)}(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?DhhhNhNubj4)}(h``CONFIG_COMPAT_BRK``h]hCONFIG_COMPAT_BRK}(hjGDhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj?Dubh is disabled.}(hj?DhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj ah ]h"]shmallah$]h&]uh1hhhhhhhhM5ubh)}(hhh](h)}(hshmmaxh]hshmmax}(hjGhhhNhNubah}(h]h ]h"]h$]h&]jzjZ uh1hhjGhhhhhMGubh)}(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 }(hjGhhhNhNubj4)}(h ``SHMMAX``h]hSHMMAX}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjGubh.}(hjGhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMIhjGhhubeh}(h]j` ah ]h"]shmmaxah$]h&]uh1hhhhhhhhMGubh)}(hhh](h)}(hshmmnih]hshmmni}(hjGhhhNhNubah}(h]h ]h"]h$]h&]jzj| uh1hhjGhhhhhMPubh)}(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 (}(hjGhhhNhNubj4)}(h ``SHMMNI``h]hSHMMNI}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjGubh).}(hjGhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMRhjGhhubeh}(h]j ah ]h"]shmmniah$]h&]uh1hhhhhhhhMPubh)}(hhh](h)}(hshm_rmid_forcedh]hshm_rmid_forced}(hj"HhhhNhNubah}(h]h ]h"]h$]h&]jzj uh1hhjHhhhhhMWubh)}(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 }(hj0HhhhNhNubj4)}(h``setrlimit(2)``h]h setrlimit(2)}(hj8HhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj0HubhX. 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 }(hj0HhhhNhNubj4)}(h ``IPC_RMID``h]hIPC_RMID}(hjJHhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj0Hubh 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, }(hj0HhhhNhNubj4)}(h ``RLIMIT_AS``h]h RLIMIT_AS}(hj\HhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj0Hubh and }(hj0HhhhNhNubj4)}(h``RLIMIT_NPROC``h]h RLIMIT_NPROC}(hjnHhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj0Hubh#). Most systems don’t need this.}(hj0HhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMYhjHhhubh)}(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.}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghjHhhubeh}(h]j ah ]h"]shm_rmid_forcedah$]h&]uh1hhhhhhhhMWubh)}(hhh](h)}(hsysctl_writes_stricth]hsysctl_writes_strict}(hjHhhhNhNubah}(h]h ]h"]h$]h&]jzj uh1hhjHhhhhhMlubh)}(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 }(hjHhhhNhNubj4)}(h ``/proc/sys``h]h /proc/sys}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjHubh interface:}(hjHhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMnhjHhhubjk)}(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&]colwidthKuh1j-hjHubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKFuh1j-hjHubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(h-1h]h-1}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjHubah}(h]h ]h"]h$]h&]uh1jMhjHubjN)}(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.}(hj IhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjIubah}(h]h ]h"]h$]h&]uh1jMhjHubeh}(h]h ]h"]h$]h&]uh1jHhjHubjI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hj*IhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj'Iubah}(h]h ]h"]h$]h&]uh1jMhj$IubjN)}(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@IhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj=Iubah}(h]h ]h"]h$]h&]uh1jMhj$Iubeh}(h]h ]h"]h$]h&]uh1jHhjHubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hj`IhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj]Iubah}(h]h ]h"]h$]h&]uh1jMhjZIubjN)}(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.}(hjvIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjsIubah}(h]h ]h"]h$]h&]uh1jMhjZIubeh}(h]h ]h"]h$]h&]uh1jHhjHubeh}(h]h ]h"]h$]h&]uh1jChjHubeh}(h]h ]h"]h$]h&]colsKuh1j(hjHubah}(h]h ]h"]h$]h&]uh1j#hjHubah}(h]h ]h"]h$]h&]uh1jjhhhMqhjHhhubeh}(h]j ah ]h"]sysctl_writes_strictah$]h&]uh1hhhhhhhhMlubh)}(hhh](h)}(hsoftlockup_all_cpu_backtraceh]hsoftlockup_all_cpu_backtrace}(hjIhhhNhNubah}(h]h ]h"]h$]h&]jzj uh1hhjIhhhhhMubh)}(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.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIhhubh)}(hDThis feature is only applicable for architectures which support NMI.h]hDThis feature is only applicable for architectures which support NMI.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIhhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjIubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1j-hjIubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jMhjIubjN)}(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&]uh1jMhjIubeh}(h]h ]h"]h$]h&]uh1jHhjIubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hj6JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3Jubah}(h]h ]h"]h$]h&]uh1jMhj0JubjN)}(hhh]h)}(h,On detection capture more debug information.h]h,On detection capture more debug information.}(hjLJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIJubah}(h]h ]h"]h$]h&]uh1jMhj0Jubeh}(h]h ]h"]h$]h&]uh1jHhjIubeh}(h]h ]h"]h$]h&]uh1jChjIubeh}(h]h ]h"]h$]h&]colsKuh1j(hjIubah}(h]h ]h"]h$]h&]uh1j#hjIhhhhhNubeh}(h]j ah ]h"]softlockup_all_cpu_backtraceah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsoftlockup_panich]hsoftlockup_panic}(hjJhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjJhhhhhMubh)}(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.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJhhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjJubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1j-hjJubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jMhjJubjN)}(hhh]h)}(hDon't panic on soft lockup.h]hDon’t panic on soft lockup.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jMhjJubeh}(h]h ]h"]h$]h&]uh1jHhjJubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jMhjJubjN)}(hhh]h)}(hPanic on soft lockup.h]hPanic on soft lockup.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Kubah}(h]h ]h"]h$]h&]uh1jMhjJubeh}(h]h ]h"]h$]h&]uh1jHhjJubeh}(h]h ]h"]h$]h&]uh1jChjJubeh}(h]h ]h"]h$]h&]colsKuh1j(hjJubah}(h]h ]h"]h$]h&]uh1j#hjJhhhhhNubh)}(hAThis can also be set using the softlockup_panic kernel parameter.h]hAThis can also be set using the softlockup_panic kernel parameter.}(hj;KhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJhhubeh}(h]j ah ]h"]softlockup_panicah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h soft_watchdogh]h soft_watchdog}(hjSKhhhNhNubah}(h]h ]h"]h$]h&]jzj&uh1hhjPKhhhhhMubh)}(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.}(hjaKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPKhhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjrKubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1j-hjrKubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jMhjKubjN)}(hhh]h)}(h!Disable the soft lockup detector.h]h!Disable the soft lockup detector.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jMhjKubeh}(h]h ]h"]h$]h&]uh1jHhjKubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jMhjKubjN)}(hhh]h)}(h Enable the soft lockup detector.h]h Enable the soft lockup detector.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jMhjKubeh}(h]h ]h"]h$]h&]uh1jHhjKubeh}(h]h ]h"]h$]h&]uh1jChjrKubeh}(h]h ]h"]h$]h&]colsKuh1j(hjoKubah}(h]h ]h"]h$]h&]uh1j#hjPKhhhhhNubh)}(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.}(hj LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPKhhubeh}(h]j,ah ]h"] soft_watchdogah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsplit_lock_mitigate (x86 only)h]hsplit_lock_mitigate (x86 only)}(hj#LhhhNhNubah}(h]h ]h"]h$]h&]jzjHuh1hhj LhhhhhMubh)}(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.}(hj1LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Lhhubh)}(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?LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Lhhubh)}(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.}(hjMLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Lhhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hj^Lubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKFuh1j-hj^LubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hj~LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{Lubah}(h]h ]h"]h$]h&]uh1jMhjxLubjN)}(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.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jMhjxLubeh}(h]h ]h"]h$]h&]uh1jHhjuLubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jMhjLubjN)}(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.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jMhjLubeh}(h]h ]h"]h$]h&]uh1jHhjuLubeh}(h]h ]h"]h$]h&]uh1jChj^Lubeh}(h]h ]h"]h$]h&]colsKuh1j(hj[Lubah}(h]h ]h"]h$]h&]uh1j#hj LhhhhhNubeh}(h]jNah ]h"]split_lock_mitigate (x86 only)ah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h stack_erasingh]h stack_erasing}(hjMhhhNhNubah}(h]h ]h"]h$]h&]jzjjuh1hhjLhhhhhMubh)}(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&]uh1hhhhMhjLhhubh)}(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.}(hj/MhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hj@Mubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKGuh1j-hj@MubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hj`MhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj]Mubah}(h]h ]h"]h$]h&]uh1jMhjZMubjN)}(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.}(hjvMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsMubah}(h]h ]h"]h$]h&]uh1jMhjZMubeh}(h]h ]h"]h$]h&]uh1jHhjWMubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jMhjMubjN)}(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.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jMhjMubeh}(h]h ]h"]h$]h&]uh1jHhjWMubeh}(h]h ]h"]h$]h&]uh1jChj@Mubeh}(h]h ]h"]h$]h&]colsKuh1j(hj=Mubah}(h]h ]h"]h$]h&]uh1j#hjLhhhhhNubeh}(h]jpah ]h"] stack_erasingah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hstop-a (SPARC only)h]hstop-a (SPARC only)}(hjMhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjMhhhhhMubh)}(hControls Stop-A:h]hControls Stop-A:}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMhhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjNubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1j-hjNubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hj"NhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jMhjNubjN)}(hhh]h)}(hStop-A has no effect.h]hStop-A has no effect.}(hj8NhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5Nubah}(h]h ]h"]h$]h&]uh1jMhjNubeh}(h]h ]h"]h$]h&]uh1jHhjNubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hjXNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUNubah}(h]h ]h"]h$]h&]uh1jMhjRNubjN)}(hhh]h)}(h$Stop-A breaks to the PROM (default).h]h$Stop-A breaks to the PROM (default).}(hjnNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkNubah}(h]h ]h"]h$]h&]uh1jMhjRNubeh}(h]h ]h"]h$]h&]uh1jHhjNubeh}(h]h ]h"]h$]h&]uh1jChjNubeh}(h]h ]h"]h$]h&]colsKuh1j(hjMubah}(h]h ]h"]h$]h&]uh1j#hjMhhhhhNubh)}(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.}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMhhubeh}(h]jah ]h"]stop-a (sparc only)ah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hsysrqh]hsysrq}(hjNhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjNhhhhhMubh)}(h(See Documentation/admin-guide/sysrq.rst.h]h(See Documentation/admin-guide/sysrq.rst.}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNhhubeh}(h]jah ]h"]sysrqah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(htaintedh]htainted}(hjNhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjNhhhhhMubh)}(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.}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNhhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjNubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjNubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK>uh1j-hjNubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hj"OhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jMhjOubjN)}(hhh]h)}(h`(P)`h]j2)}(hj:Oh]h(P)}(hj,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:}(hj_UhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhMhj[Uubj)}(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 }(hjpUhhhNhNubj4)}(h ``EINVAL``h]hEINVAL}(hjxUhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjpUubh6 if the kernel is booted with the command line option }(hjpUhhhNhNubj4)}(h(``panic_on_taint=,nousertaint``h]h$panic_on_taint=,nousertaint}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjpUubh6 and any of the ORed together values being written to }(hjpUhhhNhNubj4)}(h ``tainted``h]htainted}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjpUubh 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 }(hjpUhhhNhNubj4)}(h``nousertaint``h]h nousertaint}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjpUubh switch.}(hjpUhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hjmUubah}(h]h ]h"]h$]h&]uh1jhj[Uubeh}(h]h ]h"]h$]h&]uh1jhhhMhjXUubah}(h]h ]h"]h$]h&]uh1jhjNhhhhhNubeh}(h]jah ]h"]taintedah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h threads-maxh]h threads-max}(hjUhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjUhhhhhMubh)}(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 }(hjUhhhNhNubj4)}(h ``fork()``h]hfork()}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjUubh.}(hjUhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjUhhubh)}(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&]uh1hhhhMhjUhhubh)}(h>The minimum value that can be written to ``threads-max`` is 1.h](h)The minimum value that can be written to }(hjVhhhNhNubj4)}(h``threads-max``h]h threads-max}(hj&VhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjVubh is 1.}(hjVhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjUhhubh)}(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>VhhhNhNubj4)}(h``threads-max``h]h threads-max}(hjFVhhhNhNubah}(h]h ]h"]h$]h&]u`qh1j3hj>Vubh is given by the constant }(hj>VhhhNhNubj4)}(h``FUTEX_TID_MASK``h]hFUTEX_TID_MASK}(hjXVhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj>Vubh (0x3fffffff).}(hj>VhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hjUhhubh)}(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 }(hjpVhhhNhNubj4)}(h``threads-max``h]h threads-max}(hjxVhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjpVubh an }(hjpVhhhNhNubj4)}(h ``EINVAL``h]hEINVAL}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjpVubh error occurs.}(hjpVhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM#hjUhhubeh}(h]jah ]h"] threads-maxah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(htimer_migrationh]htimer_migration}(hjVhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjVhhhhhM'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.}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM)hjVhhubh)}(hDefault is set (1).h]hDefault is set (1).}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjVhhubeh}(h]jah ]h"]timer_migrationah$]h&]uh1hhhhhhhhM'ubh)}(hhh](h)}(htraceoff_on_warningh]htraceoff_on_warning}(hjVhhhNhNubah}(h]h ]h"]h$]h&]jzj6uh1hhjVhhhhhM/ubh)}(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 }(hjVhhhNhNubj4)}(h ``WARN()``h]hWARN()}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjVubh is hit.}(hjVhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM1hjVhhubeh}(h]j<ah ]h"]traceoff_on_warningah$]h&]uh1hhhhhhhhM/ubh)}(hhh](h)}(htracepoint_printkh]htracepoint_printk}(hjWhhhNhNubah}(h]h ]h"]h$]h&]jzjXuh1hhjWhhhhhM6ubh)}(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&WhhhNhNubj4)}(h ``tp_printk``h]h tp_printk}(hj.WhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj&Wubh6 boot parameter), this entry provides runtime control:}(hj&WhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM8hjWhhubj|)}(h+echo 0 > /proc/sys/kernel/tracepoint_printkh]h+echo 0 > /proc/sys/kernel/tracepoint_printk}hjFWsbah}(h]h ]h"]h$]h&]hhuh1j{hhhM;hjWhhubh)}(h8will stop tracepoints from being sent to printk(), and::h]h7will stop tracepoints from being sent to printk(), and:}(hjTWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM=hjWhhubj|)}(h+echo 1 > /proc/sys/kernel/tracepoint_printkh]h+echo 1 > /proc/sys/kernel/tracepoint_printk}hjbWsbah}(h]h ]h"]h$]h&]hhuh1j{hhhM?hjWhhubh)}(h!will send them to printk() again.h]h!will send them to printk() again.}(hjpWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhjWhhubh)}(hDThis only works if the kernel was booted with ``tp_printk`` enabled.h](h.This only works if the kernel was booted with }(hj~WhhhNhNubj4)}(h ``tp_printk``h]h tp_printk}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj~Wubh enabled.}(hj~WhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMChjWhhubh)}(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.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjWhhubeh}(h]j^ah ]h"]tracepoint_printkah$]h&]uh1hhhhhhhhM6ubh)}(hhh](h)}(hunaligned-traph]hunaligned-trap}(hjWhhhNhNubah}(h]h ]h"]h$]h&]jzjzuh1hhjWhhhhhMJubh)}(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 (}(hjWhhhNhNubj4)}(h$``CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW``h]h CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjWubh ; currently, }(hjWhhhNhNubj4)}(h``arc``h]harc}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjWubh, }(hjWhhhNhNubj4)}(h ``parisc``h]hparisc}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjWubh and }(hjWhhhNhNubj4)}(h ``loongarch``h]h loongarch}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjWubhQ), controls whether unaligned traps are caught and emulated (instead of failing).}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMLhjWhhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjXubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK8uh1j-hjXubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hj=XhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhj:Xubah}(h]h ]h"]h$]h&]uh1jMhj7XubjN)}(hhh]h)}(h"Do not emulate unaligned accesses.h]h"Do not emulate unaligned accesses.}(hjSXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjPXubah}(h]h ]h"]h$]h&]uh1jMhj7Xubeh}(h]h ]h"]h$]h&]uh1jHhj4XubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hjsXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjpXubah}(h]h ]h"]h$]h&]uh1jMhjmXubjN)}(hhh]h)}(h8Emulate unaligned accesses. This is the default setting.h]h8Emulate unaligned accesses. This is the default setting.}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjXubah}(h]h ]h"]h$]h&]uh1jMhjmXubeh}(h]h ]h"]h$]h&]uh1jHhj4Xubeh}(h]h ]h"]h$]h&]uh1jChjXubeh}(h]h ]h"]h$]h&]colsKuh1j(hjXubah}(h]h ]h"]h$]h&]uh1j#hjWhhhhhNubh)}(h&See also `ignore-unaligned-usertrap`_.h](h See also }(hjXhhhNhNubh)}(h`ignore-unaligned-usertrap`_h]hignore-unaligned-usertrap}(hjXhhhNhNubah}(h]h ]h"]h$]h&]nameignore-unaligned-usertrapjzjuh1hhjXjKubh.}(hjXhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMVhjWhhubeh}(h]jah ]h"]unaligned-trapah$]h&]uh1hhhhhhhhMJjKubh)}(hhh](h)}(hunknown_nmi_panich]hunknown_nmi_panic}(hjXhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjXhhhhhMZubh)}(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.}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hjXhhubh)}(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.}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjXhhubeh}(h]jah ]h"]unknown_nmi_panicah$]h&]uh1hhhhhhhhMZubh)}(hhh](h)}(hunprivileged_bpf_disabledh]hunprivileged_bpf_disabled}(hjYhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjYhhhhhMeubh)}(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$YhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hj,YhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj$Yubh; once disabled, calling }(hj$YhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hj>YhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj$Yubh without }(hj$YhhhNhNubj4)}(h``CAP_SYS_ADMIN``h]h CAP_SYS_ADMIN}(hjPYhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj$Yubh or }(hj$YhhhNhNubj4)}(h ``CAP_BPF``h]hCAP_BPF}(hjbYhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj$Yubh will return }(hj$YhhhNhNubj4)}(h ``-EPERM``h]h-EPERM}(hjtYhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj$YubhI. Once set to 1, this can’t be cleared from the running kernel anymore.}(hj$YhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMghjYhhubh)}(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 }(hjYhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjYubhg, however, an admin can still change this setting later on, if needed, by writing 0 or 1 to this entry.}(hjYhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMlhjYhhubh)}(hnIf ``BPF_UNPRIV_DEFAULT_OFF`` is enabled in the kernel config, then this entry will default to 2 instead of 0.h](hIf }(hjYhhhNhNubj4)}(h``BPF_UNPRIV_DEFAULT_OFF``h]hBPF_UNPRIV_DEFAULT_OFF}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjYubhQ is enabled in the kernel config, then this entry will default to 2 instead of 0.}(hjYhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMphjYhhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjYubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthK=uh1j-hjYubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjYubah}(h]h ]h"]h$]h&]uh1jMhjYubjN)}(hhh]h)}(h+Unprivileged calls to ``bpf()`` are enabledh](hUnprivileged calls to }(hjZhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hj ZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjZubh are enabled}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMthjZubah}(h]h ]h"]h$]h&]uh1jMhjYubeh}(h]h ]h"]h$]h&]uh1jHhjYubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hj7ZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhj4Zubah}(h]h ]h"]h$]h&]uh1jMhj1ZubjN)}(hhh]h)}(h=Unprivileged calls to ``bpf()`` are disabled without recoveryh](hUnprivileged calls to }(hjMZhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hjUZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjMZubh are disabled without recovery}(hjMZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMuhjJZubah}(h]h ]h"]h$]h&]uh1jMhj1Zubeh}(h]h ]h"]h$]h&]uh1jHhjYubjI)}(hhh](jN)}(hhh]h)}(hjh]h2}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj|Zubah}(h]h ]h"]h$]h&]uh1jMhjyZubjN)}(hhh]h)}(h,Unprivileged calls to ``bpf()`` are disabledh](hUnprivileged calls to }(hjZhhhNhNubj4)}(h ``bpf()``h]hbpf()}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjZubh are disabled}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMvhjZubah}(h]h ]h"]h$]h&]uh1jMhjyZubeh}(h]h ]h"]h$]h&]uh1jHhjYubeh}(h]h ]h"]h$]h&]uh1jChjYubeh}(h]h ]h"]h$]h&]colsKuh1j(hjYubah}(h]h ]h"]h$]h&]uh1j#hjYhhhhhNubeh}(h]jah ]h"]unprivileged_bpf_disabledah$]h&]uh1hhhhhhhhMeubh)}(hhh](h)}(h warn_limith]h warn_limit}(hjZhhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhjZhhhhhM{ubh)}(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 }(hjZhhhNhNubj4)}(h``panic_on_warn``h]h panic_on_warn}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjZubhu is not set. Setting this to 0 disables checking the warning count. Setting this to 1 has the same effect as setting }(hjZhhhNhNubj4)}(h``panic_on_warn=1``h]hpanic_on_warn=1}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjZubh. The default value is 0.}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM}hjZhhubeh}(h]jah ]h"] warn_limitah$]h&]uh1hhhhhhhhM{ubh)}(hhh](h)}(hwatchdogh]hwatchdog}(hj([hhhNhNubah}(h]h ]h"]h$]h&]jzjuh1hhj%[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 }(hj6[hhhNhNubjV)}(h*and*h]hand}(hj>[hhhNhNubah}(h]h ]h"]h$]h&]uh1jUhj6[ubhC the NMI watchdog (i.e. the hard lockup detector) at the same time.}(hj6[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj%[hhubj$)}(hhh]j))}(hhh](j.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjY[ubj.)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j-hjY[ubjD)}(hhh](jI)}(hhh](jN)}(hhh]h)}(hjh]h0}(hjy[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjv[ubah}(h]h ]h"]h$]h&]uh1jMhjs[ubjN)}(hhh]h)}(hDisable both lockup detectors.h]hDisable both lockup detectors.}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[ubah}(h]h ]h"]h$]h&]uh1jMhjs[ubeh}(h]h ]h"]h$]h&]uh1jHhjp[ubjI)}(hhh](jN)}(hhh]h)}(hjTh]h1}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[ubah}(h]h ]h"]h$]h&]uh1jMhj[ubjN)}(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&]uh1jMhj[ubeh}(h]h ]h"]h$]h&]uh1jHhjp[ubeh}(h]h ]h"]h$]h&]uh1jChjY[ubeh}(h]h ]h"]h$]h&]colsKuh1j(hjV[ubah}(h]h ]h"]h$]h&]uh1j#hj%[hhhhhNubh)}(hThe soft lockup detector and the NMI watchdog can also be disabled or enabled individually, using the ``soft_watchdog`` and ``nmi_watchdog`` parameters. If the ``watchdog`` parameter is read, for example by executing::h](hfThe soft lockup detector and the NMI watchdog can also be disabled or enabled individually, using the }(hj[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}hj6\sbah}(h]h ]h"]h$]h&]hhuh1j{hhhMhj%[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&]hhuh1j{hhhMhj}\hhubeh}(h]j*ah ]h"]watchdog_cpumaskah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hwatchdog_threshh]hwatchdog_thresh}(hj]hhhNhNubah}(h]h ]h"]h$]h&]jzjFuh1hhj]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]jLah ]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_backlinksjMfootnote_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_handlerjs]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]jsa core_pattern](j{j5ehung_task_timeout_secs]j#aunaligned-trap]j)&amodules_disabled]j'admesg_restrict]j)akexec_load_disabled]jq*aprintk_ratelimit](j@j@eignore-unaligned-usertrap]jXaurefids}(j]jaj]j*aunameids}(jN]jK]jfjajjjjjdjjjj j8jbjZj7j|jjjjjZjjjjj&jejHjjjjjjjjjjGjjmjj/ j6j jXjW!jzj!jjm"jj"jj"jjc#j$j$jFjY$jhj%jjG&jj?'jje'jj'jj(j4j)jVj)jxjU*jj*jj\+jj[+jj,jjX,j"jR-jDj-jfj.jj/jjT/jj/jj0jj<0j2j0jTj1jvjW2jj+3jj_3jj!4jj]6j j48jB j8jd jN9j j:j j;j j_<j j<j j=j0 j=jR j=jt j >j jF>j j?j j0@j jv@j j@j@ jBjb jABj jfCj jDj jDj jDj j"Ej. jHEjP jnEjr jEj jFj jFj jFj j&Gj jGj> jGj` jHj jHj jIj j}Jj jMKj jLj,jLjNjMjpjNjjNjjUjjVjjVjjWj<jWj^jXjjYjjZjj"[jjz\jj]j*jF]jLu nametypes}(jN]jfjjjdjj jbj7jjjZjjjejjjjjGjmj/ j jW!j!jm"j"j"jc#j$jY$j%jG&j?'je'j'j(j)j)jU*j*j\+j[+j,jX,jR-j-j.j/jT/j/j0j<0j0j1jW2j+3j_3j!4j]6j48j8jN9j:j;j_<j<j=j=j=j >jF>j?j0@jv@j@jBjABjfCjDjDjDj"EjHEjnEjEjFjFjFj&GjGjGjHjHjIj}JjMKjLjLjMjNjNjUjVjVjWjWjXjYjZj"[jz\j]jF]uh}(jK]hjajjjijjjj jjgj8jjZj j|jejj:jjjjjWjjjbj&jjHj jjjhjjjjjjjjjjJj6jpjXj2 jzj!jjZ!jj!jjp"jj"j$j"jFjf#jhj$jj\$jj%jjJ&jjB'jjh'j4j'jVj(jxj )jj)jjX*jj*jj*jja+j"j,jDj[,jfjU-jj-jj.jj/jjW/jj/j2j 0jTj?0jvj0jj1jjZ2jj.3jjb3j j$4jB j`6jd j78j j8j jQ9j j":j j;j jb<j0 j<jR j =jt j=j j=j j#>j jS>j j?j j3@j@ jy@jb j@j jBj jDBj jiCj jDj jDj. jDjP j%Ejr jKEj jqEj jEj jFj jFj jFj> j)Gj` jGj jGj jHj jHj jIj jJj,jPKjNj LjpjLjjMjjNjjNjjUjjVj<jVj^jWjjWjjXjjYjjZjj%[j*j}\jLj]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=u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}j]KpsRparse_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&]jWalevelKtypeINFOsourcehlineKuh1j]hjhhhhhKubj])}(hhh]h)}(heUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h]hgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.}(hj ^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ^ubah}(h]h ]h"]h$]h&]levelKtypej^lineKsourcehuh1j]hjubetransform_messages] transformerN include_log] decorationNhhub.