Re: [PATCH 2/3] add inactive ratio calculation function of each zone

Mel Gorman
2009-05-20T10:30:32Z

On Wed, May 20, 2009 at 04:19:36PM +0900, Minchan Kim wrote:
> This patch divides setup_per_zone_inactive_ratio with
> per zone inactive ratio calculaton.
>

Why? I'm guessing it's required by the next patch but a note here
explaining why you need it would be nice.

The new function calculates the inactive ratio for one zone, not all zones,
so a a more appropriate name would have been calculate_zone_inactive_ratio().

Is the indenting for calculate_per_zone_inactive_ratio() in too far? It
looks from the patch that it will be indented one tab too many.

> CC: Rik van Riel <riel@redhat.com>
> CC: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
> CC: Johannes Weiner <hannes@cmpxchg.org>
> Signed-off-by: Minchan Kim <minchan.kim@gmail.com>
> ---
> include/linux/mm.h | 1 +
> mm/page_alloc.c | 14 +++++++++-----
> 2 files changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index 1b2cb16..cede957 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -1059,6 +1059,7 @@ extern void set_dma_reserve(unsigned long new_dma_reserve);
> extern void memmap_init_zone(unsigned long, int, unsigned long,
> unsigned long, enum memmap_context);
> extern void setup_per_zone_wmark_min(void);
> +extern void calculate_per_zone_inactive_ratio(struct zone* zone);
> extern void mem_init(void);
> extern void __init mmap_init(void);
> extern void show_mem(void);
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 273526b..4601ba0 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -4552,11 +4552,8 @@ void setup_per_zone_wmark_min(void)
> * 1TB 101 10GB
> * 10TB 320 32GB
> */
> -static void __init setup_per_zone_inactive_ratio(void)
> +void calculate_per_zone_inactive_ratio(struct zone* zone)
> {
> - struct zone *zone;
> -
> - for_each_zone(zone) {
> unsigned int gb, ratio;
>
> /* Zone size in gigabytes */
> @@ -4567,7 +4564,14 @@ static void __init setup_per_zone_inactive_ratio(void)
> ratio = 1;
>
> zone->inactive_ratio = ratio;
> - }
> +}
> +
> +static void __init setup_per_zone_inactive_ratio(void)
> +{
> + struct zone *zone;
> +
> + for_each_zone(zone)
> + calculate_per_zone_inactive_ratio(zone);
> }
>
> /*
> --
> 1.5.4.3
>
>
>
> --
> Kinds Regards
> Minchan Kim
>

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab