1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyunconfig PROC_FS 3*4882a593Smuzhiyun bool "/proc file system support" if EXPERT 4*4882a593Smuzhiyun default y 5*4882a593Smuzhiyun help 6*4882a593Smuzhiyun This is a virtual file system providing information about the status 7*4882a593Smuzhiyun of the system. "Virtual" means that it doesn't take up any space on 8*4882a593Smuzhiyun your hard disk: the files are created on the fly by the kernel when 9*4882a593Smuzhiyun you try to access them. Also, you cannot read the files with older 10*4882a593Smuzhiyun version of the program less: you need to use more or cat. 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun It's totally cool; for example, "cat /proc/interrupts" gives 13*4882a593Smuzhiyun information about what the different IRQs are used for at the moment 14*4882a593Smuzhiyun (there is a small number of Interrupt ReQuest lines in your computer 15*4882a593Smuzhiyun that are used by the attached devices to gain the CPU's attention -- 16*4882a593Smuzhiyun often a source of trouble if two devices are mistakenly configured 17*4882a593Smuzhiyun to use the same IRQ). The program procinfo to display some 18*4882a593Smuzhiyun information about your system gathered from the /proc file system. 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun Before you can use the /proc file system, it has to be mounted, 21*4882a593Smuzhiyun meaning it has to be given a location in the directory hierarchy. 22*4882a593Smuzhiyun That location should be /proc. A command such as "mount -t proc proc 23*4882a593Smuzhiyun /proc" or the equivalent line in /etc/fstab does the job. 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun The /proc file system is explained in the file 26*4882a593Smuzhiyun <file:Documentation/filesystems/proc.rst> and on the proc(5) manpage 27*4882a593Smuzhiyun ("man 5 proc"). 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun This option will enlarge your kernel by about 67 KB. Several 30*4882a593Smuzhiyun programs depend on this, so everyone should say Y here. 31*4882a593Smuzhiyun 32*4882a593Smuzhiyunconfig PROC_KCORE 33*4882a593Smuzhiyun bool "/proc/kcore support" if !ARM 34*4882a593Smuzhiyun depends on PROC_FS && MMU 35*4882a593Smuzhiyun select CRASH_CORE 36*4882a593Smuzhiyun help 37*4882a593Smuzhiyun Provides a virtual ELF core file of the live kernel. This can 38*4882a593Smuzhiyun be read with gdb and other ELF tools. No modifications can be 39*4882a593Smuzhiyun made using this mechanism. 40*4882a593Smuzhiyun 41*4882a593Smuzhiyunconfig PROC_VMCORE 42*4882a593Smuzhiyun bool "/proc/vmcore support" 43*4882a593Smuzhiyun depends on PROC_FS && CRASH_DUMP 44*4882a593Smuzhiyun default y 45*4882a593Smuzhiyun help 46*4882a593Smuzhiyun Exports the dump image of crashed kernel in ELF format. 47*4882a593Smuzhiyun 48*4882a593Smuzhiyunconfig PROC_VMCORE_DEVICE_DUMP 49*4882a593Smuzhiyun bool "Device Hardware/Firmware Log Collection" 50*4882a593Smuzhiyun depends on PROC_VMCORE 51*4882a593Smuzhiyun default n 52*4882a593Smuzhiyun help 53*4882a593Smuzhiyun After kernel panic, device drivers can collect the device 54*4882a593Smuzhiyun specific snapshot of their hardware or firmware before the 55*4882a593Smuzhiyun underlying devices are initialized in crash recovery kernel. 56*4882a593Smuzhiyun Note that the device driver must be present in the crash 57*4882a593Smuzhiyun recovery kernel's initramfs to collect its underlying device 58*4882a593Smuzhiyun snapshot. 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun If you say Y here, the collected device dumps will be added 61*4882a593Smuzhiyun as ELF notes to /proc/vmcore. You can still disable device 62*4882a593Smuzhiyun dump using the kernel command line option 'novmcoredd'. 63*4882a593Smuzhiyun 64*4882a593Smuzhiyunconfig PROC_SYSCTL 65*4882a593Smuzhiyun bool "Sysctl support (/proc/sys)" if EXPERT 66*4882a593Smuzhiyun depends on PROC_FS 67*4882a593Smuzhiyun select SYSCTL 68*4882a593Smuzhiyun default y 69*4882a593Smuzhiyun help 70*4882a593Smuzhiyun The sysctl interface provides a means of dynamically changing 71*4882a593Smuzhiyun certain kernel parameters and variables on the fly without requiring 72*4882a593Smuzhiyun a recompile of the kernel or reboot of the system. The primary 73*4882a593Smuzhiyun interface is through /proc/sys. If you say Y here a tree of 74*4882a593Smuzhiyun modifiable sysctl entries will be generated beneath the 75*4882a593Smuzhiyun /proc/sys directory. They are explained in the files 76*4882a593Smuzhiyun in <file:Documentation/admin-guide/sysctl/>. Note that enabling this 77*4882a593Smuzhiyun option will enlarge the kernel by at least 8 KB. 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun As it is generally a good thing, you should say Y here unless 80*4882a593Smuzhiyun building a kernel for install/rescue disks or your system is very 81*4882a593Smuzhiyun limited in memory. 82*4882a593Smuzhiyun 83*4882a593Smuzhiyunconfig PROC_PAGE_MONITOR 84*4882a593Smuzhiyun default y 85*4882a593Smuzhiyun depends on PROC_FS && MMU 86*4882a593Smuzhiyun bool "Enable /proc page monitoring" if EXPERT 87*4882a593Smuzhiyun help 88*4882a593Smuzhiyun Various /proc files exist to monitor process memory utilization: 89*4882a593Smuzhiyun /proc/pid/smaps, /proc/pid/clear_refs, /proc/pid/pagemap, 90*4882a593Smuzhiyun /proc/kpagecount, and /proc/kpageflags. Disabling these 91*4882a593Smuzhiyun interfaces will reduce the size of the kernel by approximately 4kb. 92*4882a593Smuzhiyun 93*4882a593Smuzhiyunconfig PROC_CHILDREN 94*4882a593Smuzhiyun bool "Include /proc/<pid>/task/<tid>/children file" 95*4882a593Smuzhiyun default n 96*4882a593Smuzhiyun help 97*4882a593Smuzhiyun Provides a fast way to retrieve first level children pids of a task. See 98*4882a593Smuzhiyun <file:Documentation/filesystems/proc.rst> for more information. 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun Say Y if you are running any user-space software which takes benefit from 101*4882a593Smuzhiyun this interface. For example, rkt is such a piece of software. 102*4882a593Smuzhiyun 103*4882a593Smuzhiyunconfig PROC_PID_ARCH_STATUS 104*4882a593Smuzhiyun def_bool n 105*4882a593Smuzhiyun depends on PROC_FS 106*4882a593Smuzhiyun 107*4882a593Smuzhiyunconfig PROC_CPU_RESCTRL 108*4882a593Smuzhiyun def_bool n 109*4882a593Smuzhiyun depends on PROC_FS 110