aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc/proc_misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/proc/proc_misc.c')
-rw-r--r--fs/proc/proc_misc.c137
1 files changed, 0 insertions, 137 deletions
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c
index 484b6011bf0b..1aba51b0a0c4 100644
--- a/fs/proc/proc_misc.c
+++ b/fs/proc/proc_misc.c
@@ -78,142 +78,6 @@ static int proc_calc_metrics(char *page, char **start, off_t off,
78 return len; 78 return len;
79} 79}
80 80
81int __attribute__((weak)) arch_report_meminfo(char *page)
82{
83 return 0;
84}
85
86static int meminfo_read_proc(char *page, char **start, off_t off,
87 int count, int *eof, void *data)
88{
89 struct sysinfo i;
90 int len;
91 unsigned long committed;
92 unsigned long allowed;
93 struct vmalloc_info vmi;
94 long cached;
95 unsigned long pages[NR_LRU_LISTS];
96 int lru;
97
98/*
99 * display in kilobytes.
100 */
101#define K(x) ((x) << (PAGE_SHIFT - 10))
102 si_meminfo(&i);
103 si_swapinfo(&i);
104 committed = atomic_long_read(&vm_committed_space);
105 allowed = ((totalram_pages - hugetlb_total_pages())
106 * sysctl_overcommit_ratio / 100) + total_swap_pages;
107
108 cached = global_page_state(NR_FILE_PAGES) -
109 total_swapcache_pages - i.bufferram;
110 if (cached < 0)
111 cached = 0;
112
113 get_vmalloc_info(&vmi);
114
115 for (lru = LRU_BASE; lru < NR_LRU_LISTS; lru++)
116 pages[lru] = global_page_state(NR_LRU_BASE + lru);
117
118 /*
119 * Tagged format, for easy grepping and expansion.
120 */
121 len = sprintf(page,
122 "MemTotal: %8lu kB\n"
123 "MemFree: %8lu kB\n"
124 "Buffers: %8lu kB\n"
125 "Cached: %8lu kB\n"
126 "SwapCached: %8lu kB\n"
127 "Active: %8lu kB\n"
128 "Inactive: %8lu kB\n"
129 "Active(anon): %8lu kB\n"
130 "Inactive(anon): %8lu kB\n"
131 "Active(file): %8lu kB\n"
132 "Inactive(file): %8lu kB\n"
133#ifdef CONFIG_UNEVICTABLE_LRU
134 "Unevictable: %8lu kB\n"
135 "Mlocked: %8lu kB\n"
136#endif
137#ifdef CONFIG_HIGHMEM
138 "HighTotal: %8lu kB\n"
139 "HighFree: %8lu kB\n"
140 "LowTotal: %8lu kB\n"
141 "LowFree: %8lu kB\n"
142#endif
143 "SwapTotal: %8lu kB\n"
144 "SwapFree: %8lu kB\n"
145 "Dirty: %8lu kB\n"
146 "Writeback: %8lu kB\n"
147 "AnonPages: %8lu kB\n"
148 "Mapped: %8lu kB\n"
149 "Slab: %8lu kB\n"
150 "SReclaimable: %8lu kB\n"
151 "SUnreclaim: %8lu kB\n"
152 "PageTables: %8lu kB\n"
153#ifdef CONFIG_QUICKLIST
154 "Quicklists: %8lu kB\n"
155#endif
156 "NFS_Unstable: %8lu kB\n"
157 "Bounce: %8lu kB\n"
158 "WritebackTmp: %8lu kB\n"
159 "CommitLimit: %8lu kB\n"
160 "Committed_AS: %8lu kB\n"
161 "VmallocTotal: %8lu kB\n"
162 "VmallocUsed: %8lu kB\n"
163 "VmallocChunk: %8lu kB\n",
164 K(i.totalram),
165 K(i.freeram),
166 K(i.bufferram),
167 K(cached),
168 K(total_swapcache_pages),
169 K(pages[LRU_ACTIVE_ANON] + pages[LRU_ACTIVE_FILE]),
170 K(pages[LRU_INACTIVE_ANON] + pages[LRU_INACTIVE_FILE]),
171 K(pages[LRU_ACTIVE_ANON]),
172 K(pages[LRU_INACTIVE_ANON]),
173 K(pages[LRU_ACTIVE_FILE]),
174 K(pages[LRU_INACTIVE_FILE]),
175#ifdef CONFIG_UNEVICTABLE_LRU
176 K(pages[LRU_UNEVICTABLE]),
177 K(global_page_state(NR_MLOCK)),
178#endif
179#ifdef CONFIG_HIGHMEM
180 K(i.totalhigh),
181 K(i.freehigh),
182 K(i.totalram-i.totalhigh),
183 K(i.freeram-i.freehigh),
184#endif
185 K(i.totalswap),
186 K(i.freeswap),
187 K(global_page_state(NR_FILE_DIRTY)),
188 K(global_page_state(NR_WRITEBACK)),
189 K(global_page_state(NR_ANON_PAGES)),
190 K(global_page_state(NR_FILE_MAPPED)),
191 K(global_page_state(NR_SLAB_RECLAIMABLE) +
192 global_page_state(NR_SLAB_UNRECLAIMABLE)),
193 K(global_page_state(NR_SLAB_RECLAIMABLE)),
194 K(global_page_state(NR_SLAB_UNRECLAIMABLE)),
195 K(global_page_state(NR_PAGETABLE)),
196#ifdef CONFIG_QUICKLIST
197 K(quicklist_total_size()),
198#endif
199 K(global_page_state(NR_UNSTABLE_NFS)),
200 K(global_page_state(NR_BOUNCE)),
201 K(global_page_state(NR_WRITEBACK_TEMP)),
202 K(allowed),
203 K(committed),
204 (unsigned long)VMALLOC_TOTAL >> 10,
205 vmi.used >> 10,
206 vmi.largest_chunk >> 10
207 );
208
209 len += hugetlb_report_meminfo(page + len);
210
211 len += arch_report_meminfo(page + len);
212
213 return proc_calc_metrics(page, start, off, count, eof, len);
214#undef K
215}
216
217static int fragmentation_open(struct inode *inode, struct file *file) 81static int fragmentation_open(struct inode *inode, struct file *file)
218{ 82{
219 (void)inode; 83 (void)inode;
@@ -816,7 +680,6 @@ void __init proc_misc_init(void)
816 char *name; 680 char *name;
817 int (*read_proc)(char*,char**,off_t,int,int*,void*); 681 int (*read_proc)(char*,char**,off_t,int,int*,void*);
818 } *p, simple_ones[] = { 682 } *p, simple_ones[] = {
819 {"meminfo", meminfo_read_proc},
820 {"version", version_read_proc}, 683 {"version", version_read_proc},
821#ifdef CONFIG_PROC_HARDWARE 684#ifdef CONFIG_PROC_HARDWARE
822 {"hardware", hardware_read_proc}, 685 {"hardware", hardware_read_proc},