162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ciconfig PROC_FS 362306a36Sopenharmony_ci bool "/proc file system support" if EXPERT 462306a36Sopenharmony_ci default y 562306a36Sopenharmony_ci help 662306a36Sopenharmony_ci This is a virtual file system providing information about the status 762306a36Sopenharmony_ci of the system. "Virtual" means that it doesn't take up any space on 862306a36Sopenharmony_ci your hard disk: the files are created on the fly by the kernel when 962306a36Sopenharmony_ci you try to access them. Also, you cannot read the files with older 1062306a36Sopenharmony_ci version of the program less: you need to use more or cat. 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci It's totally cool; for example, "cat /proc/interrupts" gives 1362306a36Sopenharmony_ci information about what the different IRQs are used for at the moment 1462306a36Sopenharmony_ci (there is a small number of Interrupt ReQuest lines in your computer 1562306a36Sopenharmony_ci that are used by the attached devices to gain the CPU's attention -- 1662306a36Sopenharmony_ci often a source of trouble if two devices are mistakenly configured 1762306a36Sopenharmony_ci to use the same IRQ). The program procinfo to display some 1862306a36Sopenharmony_ci information about your system gathered from the /proc file system. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci Before you can use the /proc file system, it has to be mounted, 2162306a36Sopenharmony_ci meaning it has to be given a location in the directory hierarchy. 2262306a36Sopenharmony_ci That location should be /proc. A command such as "mount -t proc proc 2362306a36Sopenharmony_ci /proc" or the equivalent line in /etc/fstab does the job. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci The /proc file system is explained in the file 2662306a36Sopenharmony_ci <file:Documentation/filesystems/proc.rst> and on the proc(5) manpage 2762306a36Sopenharmony_ci ("man 5 proc"). 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci This option will enlarge your kernel by about 67 KB. Several 3062306a36Sopenharmony_ci programs depend on this, so everyone should say Y here. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciconfig PROC_KCORE 3362306a36Sopenharmony_ci bool "/proc/kcore support" if !ARM 3462306a36Sopenharmony_ci depends on PROC_FS && MMU 3562306a36Sopenharmony_ci select CRASH_CORE 3662306a36Sopenharmony_ci help 3762306a36Sopenharmony_ci Provides a virtual ELF core file of the live kernel. This can 3862306a36Sopenharmony_ci be read with gdb and other ELF tools. No modifications can be 3962306a36Sopenharmony_ci made using this mechanism. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciconfig PROC_VMCORE 4262306a36Sopenharmony_ci bool "/proc/vmcore support" 4362306a36Sopenharmony_ci depends on PROC_FS && CRASH_DUMP 4462306a36Sopenharmony_ci default y 4562306a36Sopenharmony_ci help 4662306a36Sopenharmony_ci Exports the dump image of crashed kernel in ELF format. 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ciconfig PROC_VMCORE_DEVICE_DUMP 4962306a36Sopenharmony_ci bool "Device Hardware/Firmware Log Collection" 5062306a36Sopenharmony_ci depends on PROC_VMCORE 5162306a36Sopenharmony_ci default n 5262306a36Sopenharmony_ci help 5362306a36Sopenharmony_ci After kernel panic, device drivers can collect the device 5462306a36Sopenharmony_ci specific snapshot of their hardware or firmware before the 5562306a36Sopenharmony_ci underlying devices are initialized in crash recovery kernel. 5662306a36Sopenharmony_ci Note that the device driver must be present in the crash 5762306a36Sopenharmony_ci recovery kernel's initramfs to collect its underlying device 5862306a36Sopenharmony_ci snapshot. 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci If you say Y here, the collected device dumps will be added 6162306a36Sopenharmony_ci as ELF notes to /proc/vmcore. You can still disable device 6262306a36Sopenharmony_ci dump using the kernel command line option 'novmcoredd'. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ciconfig PROC_SYSCTL 6562306a36Sopenharmony_ci bool "Sysctl support (/proc/sys)" if EXPERT 6662306a36Sopenharmony_ci depends on PROC_FS 6762306a36Sopenharmony_ci select SYSCTL 6862306a36Sopenharmony_ci default y 6962306a36Sopenharmony_ci help 7062306a36Sopenharmony_ci The sysctl interface provides a means of dynamically changing 7162306a36Sopenharmony_ci certain kernel parameters and variables on the fly without requiring 7262306a36Sopenharmony_ci a recompile of the kernel or reboot of the system. The primary 7362306a36Sopenharmony_ci interface is through /proc/sys. If you say Y here a tree of 7462306a36Sopenharmony_ci modifiable sysctl entries will be generated beneath the 7562306a36Sopenharmony_ci /proc/sys directory. They are explained in the files 7662306a36Sopenharmony_ci in <file:Documentation/admin-guide/sysctl/>. Note that enabling this 7762306a36Sopenharmony_ci option will enlarge the kernel by at least 8 KB. 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci As it is generally a good thing, you should say Y here unless 8062306a36Sopenharmony_ci building a kernel for install/rescue disks or your system is very 8162306a36Sopenharmony_ci limited in memory. 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ciconfig PROC_PAGE_MONITOR 8462306a36Sopenharmony_ci default y 8562306a36Sopenharmony_ci depends on PROC_FS && MMU 8662306a36Sopenharmony_ci bool "Enable /proc page monitoring" if EXPERT 8762306a36Sopenharmony_ci help 8862306a36Sopenharmony_ci Various /proc files exist to monitor process memory utilization: 8962306a36Sopenharmony_ci /proc/pid/smaps, /proc/pid/clear_refs, /proc/pid/pagemap, 9062306a36Sopenharmony_ci /proc/kpagecount, and /proc/kpageflags. Disabling these 9162306a36Sopenharmony_ci interfaces will reduce the size of the kernel by approximately 4kb. 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ciconfig PROC_CHILDREN 9462306a36Sopenharmony_ci bool "Include /proc/<pid>/task/<tid>/children file" 9562306a36Sopenharmony_ci depends on PROC_FS 9662306a36Sopenharmony_ci default n 9762306a36Sopenharmony_ci help 9862306a36Sopenharmony_ci Provides a fast way to retrieve first level children pids of a task. See 9962306a36Sopenharmony_ci <file:Documentation/filesystems/proc.rst> for more information. 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci Say Y if you are running any user-space software which takes benefit from 10262306a36Sopenharmony_ci this interface. For example, rkt is such a piece of software. 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ciconfig PROC_PID_ARCH_STATUS 10562306a36Sopenharmony_ci def_bool n 10662306a36Sopenharmony_ci depends on PROC_FS 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ciconfig PROC_CPU_RESCTRL 10962306a36Sopenharmony_ci def_bool n 11062306a36Sopenharmony_ci depends on PROC_FS 111