From: Christoph Hellwig It's defined in slab.c but not used anywhere. Signed-off-by: Andrew Morton --- 25-akpm/include/linux/slab.h | 2 - 25-akpm/mm/slab.c | 69 ------------------------------------------- 2 files changed, 71 deletions(-) diff -puN include/linux/slab.h~remove-ptrinfo include/linux/slab.h --- 25/include/linux/slab.h~remove-ptrinfo Wed Sep 1 14:51:44 2004 +++ 25-akpm/include/linux/slab.h Wed Sep 1 14:51:44 2004 @@ -117,8 +117,6 @@ extern kmem_cache_t *signal_cachep; extern kmem_cache_t *sighand_cachep; extern kmem_cache_t *bio_cachep; -void ptrinfo(unsigned long addr); - extern atomic_t slab_reclaim_pages; #endif /* __KERNEL__ */ diff -puN mm/slab.c~remove-ptrinfo mm/slab.c --- 25/mm/slab.c~remove-ptrinfo Wed Sep 1 14:51:44 2004 +++ 25-akpm/mm/slab.c Wed Sep 1 14:51:44 2004 @@ -3025,72 +3025,3 @@ unsigned int ksize(const void *objp) return size; } - -void ptrinfo(unsigned long addr) -{ - struct page *page; - - printk("Dumping data about address %p.\n", (void*)addr); - if (!virt_addr_valid((void*)addr)) { - printk("virt addr invalid.\n"); - return; - } -#ifdef CONFIG_MMU - do { - pgd_t *pgd = pgd_offset_k(addr); - pmd_t *pmd; - if (pgd_none(*pgd)) { - printk("No pgd.\n"); - break; - } - pmd = pmd_offset(pgd, addr); - if (pmd_none(*pmd)) { - printk("No pmd.\n"); - break; - } -#ifdef CONFIG_X86 - if (pmd_large(*pmd)) { - printk("Large page.\n"); - break; - } -#endif - printk("normal page, pte_val 0x%llx\n", - (unsigned long long)pte_val(*pte_offset_kernel(pmd, addr))); - } while(0); -#endif - - page = virt_to_page((void*)addr); - printk("struct page at %p, flags %08lx\n", - page, (unsigned long)page->flags); - if (PageSlab(page)) { - kmem_cache_t *c; - struct slab *s; - unsigned long flags; - int objnr; - void *objp; - - c = GET_PAGE_CACHE(page); - printk("belongs to cache %s.\n",c->name); - - spin_lock_irqsave(&c->spinlock, flags); - s = GET_PAGE_SLAB(page); - printk("slabp %p with %d inuse objects (from %d).\n", - s, s->inuse, c->num); - check_slabp(c,s); - - objnr = (addr-(unsigned long)s->s_mem)/c->objsize; - objp = s->s_mem+c->objsize*objnr; - printk("points into object no %d, starting at %p, len %d.\n", - objnr, objp, c->objsize); - if (objnr >= c->num) { - printk("Bad obj number.\n"); - } else { - kernel_map_pages(virt_to_page(objp), - c->objsize/PAGE_SIZE, 1); - - print_objinfo(c, objp, 2); - } - spin_unlock_irqrestore(&c->spinlock, flags); - - } -} _