Prev: memcg: sc.nr_to_reclaim should be initialized
Next: memcg: mem_cgroup_shrink_node_zone() doesn't need sc.nodemask
From: KAMEZAWA Hiroyuki on 16 Jul 2010 06:30 On Fri, 16 Jul 2010 19:15:05 +0900 (JST) KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> wrote: > > mem_cgroup_soft_limit_reclaim() has zone, nid and zid argument. but nid > and zid can be calculated from zone. So remove it. > > Signed-off-by: KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu(a)jp.fujitsu.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Mel Gorman on 16 Jul 2010 07:00 On Fri, Jul 16, 2010 at 07:15:05PM +0900, KOSAKI Motohiro wrote: > > mem_cgroup_soft_limit_reclaim() has zone, nid and zid argument. but nid > and zid can be calculated from zone. So remove it. > > Signed-off-by: KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> > --- > include/linux/memcontrol.h | 6 +++--- > include/linux/mmzone.h | 5 +++++ > mm/memcontrol.c | 5 ++--- > mm/vmscan.c | 7 ++----- > 4 files changed, 12 insertions(+), 11 deletions(-) > > diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h > index 9411d32..9dec218 100644 > --- a/include/linux/memcontrol.h > +++ b/include/linux/memcontrol.h > @@ -128,8 +128,8 @@ static inline bool mem_cgroup_disabled(void) > > void mem_cgroup_update_file_mapped(struct page *page, int val); > unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order, > - gfp_t gfp_mask, int nid, > - int zid); > + gfp_t gfp_mask); > + > #else /* CONFIG_CGROUP_MEM_RES_CTLR */ > struct mem_cgroup; > > @@ -304,7 +304,7 @@ static inline void mem_cgroup_update_file_mapped(struct page *page, > > static inline > unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order, > - gfp_t gfp_mask, int nid, int zid) > + gfp_t gfp_mask) > { > return 0; > } > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h > index 9ed9c45..34ac27a 100644 > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -684,6 +684,11 @@ unsigned long __init node_memmap_size_bytes(int, unsigned long, unsigned long); > */ > #define zone_idx(zone) ((zone) - (zone)->zone_pgdat->node_zones) > > +static inline int zone_nid(struct zone *zone) > +{ > + return zone->zone_pgdat->node_id; > +} > + hmm, adding a helper and not converting the existing users of zone->zone_pgdat may be a little confusing particularly as both types of usage would exist in the same file e.g. in mem_cgroup_zone_nr_pages. > static inline int populated_zone(struct zone *zone) > { > return (!!zone->present_pages); > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index 01f38ff..81bc9bf 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -2833,8 +2833,7 @@ static int mem_cgroup_resize_memsw_limit(struct mem_cgroup *memcg, > } > > unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order, > - gfp_t gfp_mask, int nid, > - int zid) > + gfp_t gfp_mask) > { > unsigned long nr_reclaimed = 0; > struct mem_cgroup_per_zone *mz, *next_mz = NULL; > @@ -2846,7 +2845,7 @@ unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order, > if (order > 0) > return 0; > > - mctz = soft_limit_tree_node_zone(nid, zid); > + mctz = soft_limit_tree_node_zone(zone_nid(zone), zone_idx(zone)); > /* > * This loop can run a while, specially if mem_cgroup's continuously > * keep exceeding their soft limit and putting the system under > diff --git a/mm/vmscan.c b/mm/vmscan.c > index be860a0..89b4287 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -2121,7 +2121,6 @@ loop_again: > for (i = 0; i <= end_zone; i++) { > struct zone *zone = pgdat->node_zones + i; > int nr_slab; > - int nid, zid; > > if (!populated_zone(zone)) > continue; > @@ -2133,14 +2132,12 @@ loop_again: > sc.nr_scanned = 0; > note_zone_scanning_priority(zone, priority); > > - nid = pgdat->node_id; > - zid = zone_idx(zone); > /* > * Call soft limit reclaim before calling shrink_zone. > * For now we ignore the return value > */ > - mem_cgroup_soft_limit_reclaim(zone, order, sc.gfp_mask, > - nid, zid); > + mem_cgroup_soft_limit_reclaim(zone, order, sc.gfp_mask); > + Other than the usual comment of it belonging in its own series Acked-by: Mel Gorman <mel(a)csn.ul.ie> > /* > * We put equal pressure on every zone, unless one > * zone has way too many pages free already. > -- > 1.6.5.2 > > > -- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: KOSAKI Motohiro on 21 Jul 2010 09:40 > > +static inline int zone_nid(struct zone *zone) > > +{ > > + return zone->zone_pgdat->node_id; > > +} > > + > > hmm, adding a helper and not converting the existing users of > zone->zone_pgdat may be a little confusing particularly as both types of > usage would exist in the same file e.g. in mem_cgroup_zone_nr_pages. I see. here is incrementa patch. Thanks From 62cf765251af257c98fc92a58215d101d200e7ef Mon Sep 17 00:00:00 2001 From: KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> Date: Tue, 20 Jul 2010 11:30:14 +0900 Subject: [PATCH] memcg: convert to zone_nid() from bare zone->zone_pgdat->node_id Now, we have zone_nid(). this patch convert all existing users of zone->zone_pgdat. Signed-off-by: KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> --- mm/memcontrol.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 82e191f..3d5b645 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -951,7 +951,7 @@ unsigned long mem_cgroup_zone_nr_pages(struct mem_cgroup *memcg, struct zone *zone, enum lru_list lru) { - int nid = zone->zone_pgdat->node_id; + int nid = zone_nid(zone); int zid = zone_idx(zone); struct mem_cgroup_per_zone *mz = mem_cgroup_zoneinfo(memcg, nid, zid); @@ -961,7 +961,7 @@ unsigned long mem_cgroup_zone_nr_pages(struct mem_cgroup *memcg, struct zone_reclaim_stat *mem_cgroup_get_reclaim_stat(struct mem_cgroup *memcg, struct zone *zone) { - int nid = zone->zone_pgdat->node_id; + int nid = zone_nid(zone); int zid = zone_idx(zone); struct mem_cgroup_per_zone *mz = mem_cgroup_zoneinfo(memcg, nid, zid); @@ -1006,7 +1006,7 @@ unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan, LIST_HEAD(pc_list); struct list_head *src; struct page_cgroup *pc, *tmp; - int nid = z->zone_pgdat->node_id; + int nid = zone_nid(z); int zid = zone_idx(z); struct mem_cgroup_per_zone *mz; int lru = LRU_FILE * file + active; -- 1.6.5.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Balbir Singh on 22 Jul 2010 01:40 * KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> [2010-07-21 22:33:56]: > > > +static inline int zone_nid(struct zone *zone) > > > +{ > > > + return zone->zone_pgdat->node_id; > > > +} > > > + > > > > hmm, adding a helper and not converting the existing users of > > zone->zone_pgdat may be a little confusing particularly as both types of > > usage would exist in the same file e.g. in mem_cgroup_zone_nr_pages. > > I see. here is incrementa patch. > > Thanks > > From 62cf765251af257c98fc92a58215d101d200e7ef Mon Sep 17 00:00:00 2001 > From: KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> > Date: Tue, 20 Jul 2010 11:30:14 +0900 > Subject: [PATCH] memcg: convert to zone_nid() from bare zone->zone_pgdat->node_id > > Now, we have zone_nid(). this patch convert all existing users of > zone->zone_pgdat. > > Signed-off-by: KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> > --- > mm/memcontrol.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index 82e191f..3d5b645 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -951,7 +951,7 @@ unsigned long mem_cgroup_zone_nr_pages(struct mem_cgroup *memcg, > struct zone *zone, > enum lru_list lru) > { > - int nid = zone->zone_pgdat->node_id; > + int nid = zone_nid(zone); > int zid = zone_idx(zone); > struct mem_cgroup_per_zone *mz = mem_cgroup_zoneinfo(memcg, nid, zid); > > @@ -961,7 +961,7 @@ unsigned long mem_cgroup_zone_nr_pages(struct mem_cgroup *memcg, > struct zone_reclaim_stat *mem_cgroup_get_reclaim_stat(struct mem_cgroup *memcg, > struct zone *zone) > { > - int nid = zone->zone_pgdat->node_id; > + int nid = zone_nid(zone); > int zid = zone_idx(zone); > struct mem_cgroup_per_zone *mz = mem_cgroup_zoneinfo(memcg, nid, zid); > > @@ -1006,7 +1006,7 @@ unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan, > LIST_HEAD(pc_list); > struct list_head *src; > struct page_cgroup *pc, *tmp; > - int nid = z->zone_pgdat->node_id; > + int nid = zone_nid(z); > int zid = zone_idx(z); > struct mem_cgroup_per_zone *mz; > int lru = LRU_FILE * file + active; Acked-by: Balbir Singh <balbir(a)linux.vnet.ibm.com> -- Three Cheers, Balbir -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Mel Gorman on 22 Jul 2010 07:10
On Wed, Jul 21, 2010 at 10:33:56PM +0900, KOSAKI Motohiro wrote: > > > +static inline int zone_nid(struct zone *zone) > > > +{ > > > + return zone->zone_pgdat->node_id; > > > +} > > > + > > > > hmm, adding a helper and not converting the existing users of > > zone->zone_pgdat may be a little confusing particularly as both types of > > usage would exist in the same file e.g. in mem_cgroup_zone_nr_pages. > > I see. here is incrementa patch. > Looks grand. Thanks > From 62cf765251af257c98fc92a58215d101d200e7ef Mon Sep 17 00:00:00 2001 > From: KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> > Date: Tue, 20 Jul 2010 11:30:14 +0900 > Subject: [PATCH] memcg: convert to zone_nid() from bare zone->zone_pgdat->node_id > > Now, we have zone_nid(). this patch convert all existing users of > zone->zone_pgdat. > > Signed-off-by: KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> > > <SNIP> -- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |