]> git.hungrycats.org Git - linux/commitdiff
[PATCH] ppc32: Suppress bogus info in /proc/ppc_htab on 64-bit cpus
authorPaul Mackerras <paulus@samba.org>
Thu, 3 Jun 2004 01:21:36 +0000 (18:21 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Thu, 3 Jun 2004 01:21:36 +0000 (18:21 -0700)
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@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/ppc/kernel/ppc_htab.c

index 7d2f3a5cd19f9dbdfef31fec0b17e3cf03b691a7..ad7808fa6a83afb5d9836fd3ab46c20030c55a03 100644 (file)
@@ -101,7 +101,7 @@ static ssize_t ppc_htab_read(struct file * file, char __user * buf,
 {
        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 @@ static ssize_t ppc_htab_read(struct file * file, char __user * buf,
                goto return_string;
        }
 
+#ifndef CONFIG_PPC64BRIDGE
        for (ptr = Hash; ptr < Hash_end; ptr++) {
                unsigned int mctx, vsid;
 
@@ -148,6 +149,7 @@ static ssize_t ppc_htab_read(struct file * file, char __user * buf,
                else
                        uptes++;
        }
+#endif
 
        n += sprintf( buffer + n,
                      "PTE Hash Table Information\n"
@@ -155,16 +157,20 @@ static ssize_t ppc_htab_read(struct file * file, char __user * buf,
                      "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,