Skip to contentSkip to conversation

buffermem counter tweaks in proc

PATCH New Chris Mason 1 participant 1 message Oct 11, 2001 Proc filesystem

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 buffermem counter tweaks in proc

Hello everyone,

A few people have seen free report bogus numbers for the number of used buffers in the output of free.

Andrea pointed out this was probably because we now increment both buffermem_pages and page_cache_size when getblk triggers a page allocation.

This patch tweaks /proc/meminfo to deal take that into account:

-chris

fs/proc/proc_misc.c Wed, 10 Oct 2001 13:12:26 -0400 renamed from fs/proc/proc_misc.c Sun, 23 Sep 2001 20:11:16 -0400 +5 -2
@@ -140,6 +140,7 @@
 {
 	struct sysinfo i;
 	int len;
+	int pg_size ;
 
 /*
  * display in kilobytes.
@@ -148,12 +149,14 @@
 #define B(x) ((unsigned long long)(x) << PAGE_SHIFT)
 	si_meminfo(&i);
 	si_swapinfo(&i);
+	pg_size = atomic_read(&page_cache_size) - i.bufferram ;
+
 	len = sprintf(page, "        total:    used:    free:  shared: buffers:  cached:\n"
 		"Mem:  %8Lu %8Lu %8Lu %8Lu %8Lu %8Lu\n"
 		"Swap: %8Lu %8Lu %8Lu\n",
 		B(i.totalram), B(i.totalram-i.freeram), B(i.freeram),
 		B(i.sharedram), B(i.bufferram),
-		B(atomic_read(&page_cache_size)), B(i.totalswap),
+		B(pg_size), B(i.totalswap),
 		B(i.totalswap-i.freeswap), B(i.freeswap));
 	/*
 	 * Tagged format, for easy grepping and expansion.
@@ -179,7 +182,7 @@
 		K(i.freeram),
 		K(i.sharedram),
 		K(i.bufferram),
-		K(atomic_read(&page_cache_size) - swapper_space.nrpages),
+		K(pg_size - swapper_space.nrpages),
 		K(swapper_space.nrpages),
 		K(nr_active_pages),
 		K(nr_inactive_pages),