xref: /OK3568_Linux_fs/kernel/fs/proc/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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