[PATCH][PPC32] Suppress bogus info in /proc/ppc_htab on 64-bit cpus
From: Paul Mackerras
Date: Thu Jun 03 2004 - 05:39:03 EST
In the ppc32 kernel, we have a /proc/ppc_htab file that trawls through
the MMU hash table and prints various statistics on it such as percent
occupancy. However, the hash table entry format is different on
64-bit cpus (POWER3, G5) which the ppc32 kernel does support (in
32-bit mode).
This patch disables the scanning of the MMU hash table and printing of
the statistics that we get from it on 64-bit cpus. Since the
statistics are only for interest, and the ppc32 kernel is being used
less and less on 64-bit cpus now that the ppc64 kernel is in
reasonable shape, I didn't think it worth while to add code to deal
with the 64-bit HPTE format.
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>
diff -urN linux-2.5/arch/ppc/kernel/ppc_htab.c pmac-2.5/arch/ppc/kernel/ppc_htab.c
--- linux-2.5/arch/ppc/kernel/ppc_htab.c 2003-09-27 19:46:43.000000000 +1000
+++ pmac-2.5/arch/ppc/kernel/ppc_htab.c 2003-10-16 12:04:14.000000000 +1000
@@ -101,7 +101,7 @@
{
unsigned long mmcr0 = 0, pmc1 = 0, pmc2 = 0;
int n = 0;
-#ifdef CONFIG_PPC_STD_MMU
+#if defined(CONFIG_PPC_STD_MMU) && !defined(CONFIG_PPC64BRIDGE)
unsigned int kptes = 0, uptes = 0;
PTE *ptr;
#endif /* CONFIG_PPC_STD_MMU */
@@ -135,6 +135,7 @@
goto return_string;
}
+#ifndef CONFIG_PPC64BRIDGE
for (ptr = Hash; ptr < Hash_end; ptr++) {
unsigned int mctx, vsid;
@@ -148,6 +149,7 @@
else
uptes++;
}
+#endif
n += sprintf( buffer + n,
"PTE Hash Table Information\n"
@@ -155,16 +157,20 @@
"Buckets\t\t: %lu\n"
"Address\t\t: %08lx\n"
"Entries\t\t: %lu\n"
+#ifndef CONFIG_PPC64BRIDGE
"User ptes\t: %u\n"
"Kernel ptes\t: %u\n"
- "Percent full\t: %lu%%\n",
- (unsigned long)(Hash_size>>10),
+ "Percent full\t: %lu%%\n"
+#endif
+ , (unsigned long)(Hash_size>>10),
(Hash_size/(sizeof(PTE)*8)),
(unsigned long)Hash,
- Hash_size/sizeof(PTE),
- uptes,
+ Hash_size/sizeof(PTE)
+#ifndef CONFIG_PPC64BRIDGE
+ , uptes,
kptes,
((kptes+uptes)*100) / (Hash_size/sizeof(PTE))
+#endif
);
n += sprintf( buffer + n,
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/