From: "Martin J. Bligh" <mbligh@mbligh.org>

This helps a lot when debugging out of memory stuff - useful especially to
see if all the memory is sucked into slab, etc.

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 arch/i386/mm/pgtable.c |    8 ++++++++
 1 files changed, 8 insertions(+)

diff -puN arch/i386/mm/pgtable.c~add-page_state-info-to-show_mem arch/i386/mm/pgtable.c
--- 25/arch/i386/mm/pgtable.c~add-page_state-info-to-show_mem	2005-05-31 17:25:43.000000000 -0700
+++ 25-akpm/arch/i386/mm/pgtable.c	2005-05-31 17:25:43.000000000 -0700
@@ -30,6 +30,7 @@ void show_mem(void)
 	struct page *page;
 	pg_data_t *pgdat;
 	unsigned long i;
+	struct page_state ps;
 
 	printk("Mem-info:\n");
 	show_free_areas();
@@ -53,6 +54,13 @@ void show_mem(void)
 	printk("%d reserved pages\n",reserved);
 	printk("%d pages shared\n",shared);
 	printk("%d pages swap cached\n",cached);
+
+	get_page_state(&ps);
+	printk("%d pages dirty\n", ps.nr_dirty);
+	printk("%d pages writeback\n", ps.nr_writeback);
+	printk("%d pages mapped\n", ps.nr_mapped);
+	printk("%d pages slab\n", ps.nr_slab);
+	printk("%d pages pagetables\n", ps.nr_page_table_pages);
 }
 
 /*
_