Re: ping^2: [PATCH] move /proc/ppc_htab creating self-contained in arch/ppc/ code

2005-07-25 Thread Kumar Gala


On Jul 25, 2005, at 1:12 PM, Paul Mackerras wrote:


Christoph Hellwig writes:



On Mon, Jun 27, 2005 at 11:05:02PM +0200, Christoph Hellwig wrote:


On Wed, May 04, 2005 at 08:44:39PM +0200, Christoph Hellwig wrote:


additional benefit is cleaning up the ifdef mess in ppc_htab.c


Signed-off-by: Christoph Hellwig <[EMAIL PROTECTED]>



ping?



I would actually rather get rid of /proc/ppc_htab altogether.


What do we need to do to get rid of it completely?

- kumar
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: ping^2: [PATCH] move /proc/ppc_htab creating self-contained in arch/ppc/ code

2005-07-25 Thread Paul Mackerras
Christoph Hellwig writes:

> On Mon, Jun 27, 2005 at 11:05:02PM +0200, Christoph Hellwig wrote:
> > On Wed, May 04, 2005 at 08:44:39PM +0200, Christoph Hellwig wrote:
> > > additional benefit is cleaning up the ifdef mess in ppc_htab.c
> > > 
> > > 
> > > Signed-off-by: Christoph Hellwig <[EMAIL PROTECTED]>
> > 
> > ping?

I would actually rather get rid of /proc/ppc_htab altogether.

Paul.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


ping^2: [PATCH] move /proc/ppc_htab creating self-contained in arch/ppc/ code

2005-07-24 Thread Christoph Hellwig
On Mon, Jun 27, 2005 at 11:05:02PM +0200, Christoph Hellwig wrote:
> On Wed, May 04, 2005 at 08:44:39PM +0200, Christoph Hellwig wrote:
> > additional benefit is cleaning up the ifdef mess in ppc_htab.c
> > 
> > 
> > Signed-off-by: Christoph Hellwig <[EMAIL PROTECTED]>
> 
> ping?


Index: arch/ppc/kernel/ppc_htab.c
===
--- b023d524fb0a3b71aa0b957ce7c5540611497370/arch/ppc/kernel/ppc_htab.c  
(mode:100644 sha1:ca810025993f3a9ab882fb46722cd46543b6e85e)
+++ uncommitted/arch/ppc/kernel/ppc_htab.c  (mode:100644)
@@ -32,9 +32,6 @@
 #include 
 #include 
 
-static int ppc_htab_show(struct seq_file *m, void *v);
-static ssize_t ppc_htab_write(struct file * file, const char __user * buffer,
- size_t count, loff_t *ppos);
 extern PTE *Hash, *Hash_end;
 extern unsigned long Hash_size, Hash_mask;
 extern unsigned long _SDR1;
@@ -46,19 +43,7 @@
 extern unsigned int primary_pteg_full;
 extern unsigned int htab_hash_searches;
 
-static int ppc_htab_open(struct inode *inode, struct file *file)
-{
-   return single_open(file, ppc_htab_show, NULL);
-}
-
-struct file_operations ppc_htab_operations = {
-   .open   = ppc_htab_open,
-   .read   = seq_read,
-   .llseek = seq_lseek,
-   .write  = ppc_htab_write,
-   .release= single_release,
-};
-
+#ifdef CONFIG_PROC_FS
 static char *pmc1_lookup(unsigned long mmcr0)
 {
switch ( mmcr0 & (0x7f<<7) )
@@ -132,6 +117,16 @@
return 0;
}
 
+   seq_printf(m, "PTE Hash Table Information\n"
+ "Size\t\t: %luKb\n"
+ "Buckets\t\t: %lu\n"
+ "Address\t\t: %08lx\n"
+ "Entries\t\t: %lu\n",
+  (unsigned long)(Hash_size>>10),
+ (Hash_size/(sizeof(PTE)*8)),
+ (unsigned long)Hash,
+ Hash_size/sizeof(PTE));
+
 #ifndef CONFIG_PPC64BRIDGE
for (ptr = Hash; ptr < Hash_end; ptr++) {
unsigned int mctx, vsid;
@@ -146,32 +141,16 @@
else
uptes++;
}
-#endif
 
-   seq_printf(m,
- "PTE Hash Table Information\n"
- "Size\t\t: %luKb\n"
- "Buckets\t\t: %lu\n"
- "Address\t\t: %08lx\n"
- "Entries\t\t: %lu\n"
-#ifndef CONFIG_PPC64BRIDGE
- "User ptes\t: %u\n"
+   seq_printf(m, "User ptes\t: %u\n"
  "Kernel ptes\t: %u\n"
- "Percent full\t: %lu%%\n"
-#endif
-  , (unsigned long)(Hash_size>>10),
- (Hash_size/(sizeof(PTE)*8)),
- (unsigned long)Hash,
- Hash_size/sizeof(PTE)
-#ifndef CONFIG_PPC64BRIDGE
-  , uptes,
+ "Percent full\t: %lu%%\n",
+ uptes,
  kptes,
- ((kptes+uptes)*100) / (Hash_size/sizeof(PTE))
+ ((kptes+uptes)*100) / (Hash_size/sizeof(PTE)));
 #endif
-   );
 
-   seq_printf(m,
- "Reloads\t\t: %lu\n"
+   seq_printf(m, "Reloads\t\t: %lu\n"
  "Preloads\t: %lu\n"
  "Searches\t: %u\n"
  "Overflows\t: %u\n"
@@ -180,20 +159,19 @@
  primary_pteg_full, htab_evicts);
 #endif /* CONFIG_PPC_STD_MMU */
 
-   seq_printf(m,
- "Non-error misses: %lu\n"
+   seq_printf(m, "Non-error misses: %lu\n"
  "Error misses\t: %lu\n",
  pte_misses, pte_errors);
return 0;
 }
 
+#ifdef CONFIG_PPC_STD_MMU
 /*
  * Allow user to define performance counters and resize the hash table
  */
 static ssize_t ppc_htab_write(struct file * file, const char __user * ubuffer,
  size_t count, loff_t *ppos)
 {
-#ifdef CONFIG_PPC_STD_MMU
unsigned long tmp;
char buffer[16];
 
@@ -312,12 +290,43 @@
}
 
return count;
+}
 #else /* CONFIG_PPC_STD_MMU */
+static ssize_t ppc_htab_write(struct file * file, const char __user * ubuffer,
+ size_t count, loff_t *ppos)
+{
return 0;
+}
 #endif /* CONFIG_PPC_STD_MMU */
+
+static int ppc_htab_open(struct inode *inode, struct file *file)
+{
+   return single_open(file, ppc_htab_show, NULL);
 }
 
-int proc_dol2crvec(ctl_table *table, int write, struct file *filp,
+static struct file_operations ppc_htab_operations = {
+   .open   = ppc_htab_open,
+   .read   = seq_read,
+   .llseek = seq_lseek,
+   .write  = ppc_htab_write,
+   .release= single_release,
+};
+
+static int __init ppc_htab_proc_init(void)
+{
+   struct proc_dir_entry *entry;
+
+   entry = create_proc_entry("ppc_htab", S_IRUGO|S_IWUSR,