2008-06-27 12:16:55

by Johannes Weiner

[permalink] [raw]
Subject: [PATCH 14/20] powerpc: use generic show_mem()

Remove arch-specific show_mem() in favor of the generic version.

This also removes the following redundant information display:

- pages in swapcache, printed by show_swap_cache_info()

where show_mem() calls show_free_areas(), which calls
show_swap_cache_info().

Signed-off-by: Johannes Weiner <[email protected]>
CC: Paul Mackerras <[email protected]>
---
arch/powerpc/Kconfig | 1 +
arch/powerpc/mm/mem.c | 39 ---------------------------------------
2 files changed, 1 insertion(+), 39 deletions(-)

--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -114,6 +114,7 @@ config PPC
select HAVE_KRETPROBES
select HAVE_LMB
select HAVE_OPROFILE
+ select HAVE_GENERIC_SHOW_MEM
select USE_GENERIC_SMP_HELPERS if SMP

config EARLY_PRINTK
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -185,45 +185,6 @@ walk_memory_resource(unsigned long start
}
EXPORT_SYMBOL_GPL(walk_memory_resource);

-void show_mem(void)
-{
- unsigned long total = 0, reserved = 0;
- unsigned long shared = 0, cached = 0;
- unsigned long highmem = 0;
- struct page *page;
- pg_data_t *pgdat;
- unsigned long i;
-
- printk("Mem-info:\n");
- show_free_areas();
- for_each_online_pgdat(pgdat) {
- unsigned long flags;
- pgdat_resize_lock(pgdat, &flags);
- for (i = 0; i < pgdat->node_spanned_pages; i++) {
- if (!pfn_valid(pgdat->node_start_pfn + i))
- continue;
- page = pgdat_page_nr(pgdat, i);
- total++;
- if (PageHighMem(page))
- highmem++;
- if (PageReserved(page))
- reserved++;
- else if (PageSwapCache(page))
- cached++;
- else if (page_count(page))
- shared += page_count(page) - 1;
- }
- pgdat_resize_unlock(pgdat, &flags);
- }
- printk("%ld pages of RAM\n", total);
-#ifdef CONFIG_HIGHMEM
- printk("%ld pages of HIGHMEM\n", highmem);
-#endif
- printk("%ld reserved pages\n", reserved);
- printk("%ld pages shared\n", shared);
- printk("%ld pages swap cached\n", cached);
-}
-
/*
* Initialize the bootmem system and give it all the memory we
* have available. If we are using highmem, we only put the

--


2008-07-01 07:28:24

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: [PATCH 14/20] powerpc: use generic show_mem()

On Fri, 2008-06-27 at 13:54 +0200, Johannes Weiner wrote:
> plain text document attachment
> (0015-powerpc-use-generic-show_mem.patch)
> Remove arch-specific show_mem() in favor of the generic version.
>
> This also removes the following redundant information display:
>
> - pages in swapcache, printed by show_swap_cache_info()
>
> where show_mem() calls show_free_areas(), which calls
> show_swap_cache_info().
>
> Signed-off-by: Johannes Weiner <[email protected]>
> CC: Paul Mackerras <[email protected]>

Looks good to me. Paul, do you know of any userland thingy that might be
unhappy by the change from "%d pages of XXX" to "%d pages RAM" and "%d
reserved pages" to "%s pages reserved" ?

Cheers,
Ben.

> ---
> arch/powerpc/Kconfig | 1 +
> arch/powerpc/mm/mem.c | 39 ---------------------------------------
> 2 files changed, 1 insertion(+), 39 deletions(-)
>
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -114,6 +114,7 @@ config PPC
> select HAVE_KRETPROBES
> select HAVE_LMB
> select HAVE_OPROFILE
> + select HAVE_GENERIC_SHOW_MEM
> select USE_GENERIC_SMP_HELPERS if SMP
>
> config EARLY_PRINTK
> --- a/arch/powerpc/mm/mem.c
> +++ b/arch/powerpc/mm/mem.c
> @@ -185,45 +185,6 @@ walk_memory_resource(unsigned long start
> }
> EXPORT_SYMBOL_GPL(walk_memory_resource);
>
> -void show_mem(void)
> -{
> - unsigned long total = 0, reserved = 0;
> - unsigned long shared = 0, cached = 0;
> - unsigned long highmem = 0;
> - struct page *page;
> - pg_data_t *pgdat;
> - unsigned long i;
> -
> - printk("Mem-info:\n");
> - show_free_areas();
> - for_each_online_pgdat(pgdat) {
> - unsigned long flags;
> - pgdat_resize_lock(pgdat, &flags);
> - for (i = 0; i < pgdat->node_spanned_pages; i++) {
> - if (!pfn_valid(pgdat->node_start_pfn + i))
> - continue;
> - page = pgdat_page_nr(pgdat, i);
> - total++;
> - if (PageHighMem(page))
> - highmem++;
> - if (PageReserved(page))
> - reserved++;
> - else if (PageSwapCache(page))
> - cached++;
> - else if (page_count(page))
> - shared += page_count(page) - 1;
> - }
> - pgdat_resize_unlock(pgdat, &flags);
> - }
> - printk("%ld pages of RAM\n", total);
> -#ifdef CONFIG_HIGHMEM
> - printk("%ld pages of HIGHMEM\n", highmem);
> -#endif
> - printk("%ld reserved pages\n", reserved);
> - printk("%ld pages shared\n", shared);
> - printk("%ld pages swap cached\n", cached);
> -}
> -
> /*
> * Initialize the bootmem system and give it all the memory we
> * have available. If we are using highmem, we only put the
>