18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ciconfig PROC_FS 38c2ecf20Sopenharmony_ci bool "/proc file system support" if EXPERT 48c2ecf20Sopenharmony_ci default y 58c2ecf20Sopenharmony_ci help 68c2ecf20Sopenharmony_ci This is a virtual file system providing information about the status 78c2ecf20Sopenharmony_ci of the system. "Virtual" means that it doesn't take up any space on 88c2ecf20Sopenharmony_ci your hard disk: the files are created on the fly by the kernel when 98c2ecf20Sopenharmony_ci you try to access them. Also, you cannot read the files with older 108c2ecf20Sopenharmony_ci version of the program less: you need to use more or cat. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci It's totally cool; for example, "cat /proc/interrupts" gives 138c2ecf20Sopenharmony_ci information about what the different IRQs are used for at the moment 148c2ecf20Sopenharmony_ci (there is a small number of Interrupt ReQuest lines in your computer 158c2ecf20Sopenharmony_ci that are used by the attached devices to gain the CPU's attention -- 168c2ecf20Sopenharmony_ci often a source of trouble if two devices are mistakenly configured 178c2ecf20Sopenharmony_ci to use the same IRQ). The program procinfo to display some 188c2ecf20Sopenharmony_ci information about your system gathered from the /proc file system. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci Before you can use the /proc file system, it has to be mounted, 218c2ecf20Sopenharmony_ci meaning it has to be given a location in the directory hierarchy. 228c2ecf20Sopenharmony_ci That location should be /proc. A command such as "mount -t proc proc 238c2ecf20Sopenharmony_ci /proc" or the equivalent line in /etc/fstab does the job. 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci The /proc file system is explained in the file 268c2ecf20Sopenharmony_ci <file:Documentation/filesystems/proc.rst> and on the proc(5) manpage 278c2ecf20Sopenharmony_ci ("man 5 proc"). 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci This option will enlarge your kernel by about 67 KB. Several 308c2ecf20Sopenharmony_ci programs depend on this, so everyone should say Y here. 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ciconfig PROC_KCORE 338c2ecf20Sopenharmony_ci bool "/proc/kcore support" if !ARM 348c2ecf20Sopenharmony_ci depends on PROC_FS && MMU 358c2ecf20Sopenharmony_ci select CRASH_CORE 368c2ecf20Sopenharmony_ci help 378c2ecf20Sopenharmony_ci Provides a virtual ELF core file of the live kernel. This can 388c2ecf20Sopenharmony_ci be read with gdb and other ELF tools. No modifications can be 398c2ecf20Sopenharmony_ci made using this mechanism. 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciconfig PROC_VMCORE 428c2ecf20Sopenharmony_ci bool "/proc/vmcore support" 438c2ecf20Sopenharmony_ci depends on PROC_FS && CRASH_DUMP 448c2ecf20Sopenharmony_ci default y 458c2ecf20Sopenharmony_ci help 468c2ecf20Sopenharmony_ci Exports the dump image of crashed kernel in ELF format. 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ciconfig PROC_VMCORE_DEVICE_DUMP 498c2ecf20Sopenharmony_ci bool "Device Hardware/Firmware Log Collection" 508c2ecf20Sopenharmony_ci depends on PROC_VMCORE 518c2ecf20Sopenharmony_ci default n 528c2ecf20Sopenharmony_ci help 538c2ecf20Sopenharmony_ci After kernel panic, device drivers can collect the device 548c2ecf20Sopenharmony_ci specific snapshot of their hardware or firmware before the 558c2ecf20Sopenharmony_ci underlying devices are initialized in crash recovery kernel. 568c2ecf20Sopenharmony_ci Note that the device driver must be present in the crash 578c2ecf20Sopenharmony_ci recovery kernel's initramfs to collect its underlying device 588c2ecf20Sopenharmony_ci snapshot. 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci If you say Y here, the collected device dumps will be added 618c2ecf20Sopenharmony_ci as ELF notes to /proc/vmcore. You can still disable device 628c2ecf20Sopenharmony_ci dump using the kernel command line option 'novmcoredd'. 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciconfig PROC_SYSCTL 658c2ecf20Sopenharmony_ci bool "Sysctl support (/proc/sys)" if EXPERT 668c2ecf20Sopenharmony_ci depends on PROC_FS 678c2ecf20Sopenharmony_ci select SYSCTL 688c2ecf20Sopenharmony_ci default y 698c2ecf20Sopenharmony_ci help 708c2ecf20Sopenharmony_ci The sysctl interface provides a means of dynamically changing 718c2ecf20Sopenharmony_ci certain kernel parameters and variables on the fly without requiring 728c2ecf20Sopenharmony_ci a recompile of the kernel or reboot of the system. The primary 738c2ecf20Sopenharmony_ci interface is through /proc/sys. If you say Y here a tree of 748c2ecf20Sopenharmony_ci modifiable sysctl entries will be generated beneath the 758c2ecf20Sopenharmony_ci /proc/sys directory. They are explained in the files 768c2ecf20Sopenharmony_ci in <file:Documentation/admin-guide/sysctl/>. Note that enabling this 778c2ecf20Sopenharmony_ci option will enlarge the kernel by at least 8 KB. 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci As it is generally a good thing, you should say Y here unless 808c2ecf20Sopenharmony_ci building a kernel for install/rescue disks or your system is very 818c2ecf20Sopenharmony_ci limited in memory. 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ciconfig PROC_PAGE_MONITOR 848c2ecf20Sopenharmony_ci default y 858c2ecf20Sopenharmony_ci depends on PROC_FS && MMU 868c2ecf20Sopenharmony_ci bool "Enable /proc page monitoring" if EXPERT 878c2ecf20Sopenharmony_ci help 888c2ecf20Sopenharmony_ci Various /proc files exist to monitor process memory utilization: 898c2ecf20Sopenharmony_ci /proc/pid/smaps, /proc/pid/clear_refs, /proc/pid/pagemap, 908c2ecf20Sopenharmony_ci /proc/kpagecount, and /proc/kpageflags. Disabling these 918c2ecf20Sopenharmony_ci interfaces will reduce the size of the kernel by approximately 4kb. 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ciconfig PROC_CHILDREN 948c2ecf20Sopenharmony_ci bool "Include /proc/<pid>/task/<tid>/children file" 958c2ecf20Sopenharmony_ci default n 968c2ecf20Sopenharmony_ci help 978c2ecf20Sopenharmony_ci Provides a fast way to retrieve first level children pids of a task. See 988c2ecf20Sopenharmony_ci <file:Documentation/filesystems/proc.rst> for more information. 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci Say Y if you are running any user-space software which takes benefit from 1018c2ecf20Sopenharmony_ci this interface. For example, rkt is such a piece of software. 1028c2ecf20Sopenharmony_ci 1038c2ecf20Sopenharmony_ciconfig PROC_PID_ARCH_STATUS 1048c2ecf20Sopenharmony_ci def_bool n 1058c2ecf20Sopenharmony_ci depends on PROC_FS 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ciconfig PROC_CPU_RESCTRL 1088c2ecf20Sopenharmony_ci def_bool n 1098c2ecf20Sopenharmony_ci depends on PROC_FS 110