On Wed 19-12-12 15:59:01, Andrew Morton wrote: [...] > From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Subject: mm/page_alloc.c:__setup_per_zone_wmarks: make min_pages unsigned long > > `int' is an inappropriate type for a number-of-pages counter. > > While we're there, use the clamp() macro. > > Cc: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: Rik van Riel <riel@xxxxxxxxxx> > Cc: Mel Gorman <mgorman@xxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxx> > Cc: Hugh Dickins <hughd@xxxxxxxxxx> > Cc: Satoru Moriya <satoru.moriya@xxxxxxx> > Cc: Simon Jeons <simon.jeons@xxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> > --- > > mm/page_alloc.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff -puN mm/page_alloc.c~a mm/page_alloc.c > --- a/mm/page_alloc.c~a > +++ a/mm/page_alloc.c > @@ -5258,13 +5258,10 @@ static void __setup_per_zone_wmarks(void > * deltas controls asynch page reclaim, and so should > * not be capped for highmem. > */ > - int min_pages; > + unsigned long min_pages; > > min_pages = zone->present_pages / 1024; > - if (min_pages < SWAP_CLUSTER_MAX) > - min_pages = SWAP_CLUSTER_MAX; > - if (min_pages > 128) > - min_pages = 128; > + min_pages = clamp(min_pages, SWAP_CLUSTER_MAX, 128UL); > zone->watermark[WMARK_MIN] = min_pages; > } else { > /* > _ > > > From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Subject: mm/vmscan.c:shrink_lruvec(): switch to min() > > "mm: vmscan: save work scanning (almost) empty LRU lists" made > SWAP_CLUSTER_MAX an unsigned long. > > Cc: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: Rik van Riel <riel@xxxxxxxxxx> > Cc: Mel Gorman <mgorman@xxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxx> > Cc: Hugh Dickins <hughd@xxxxxxxxxx> > Cc: Satoru Moriya <satoru.moriya@xxxxxxx> > Cc: Simon Jeons <simon.jeons@xxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> > --- > > mm/vmscan.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff -puN mm/vmscan.c~a mm/vmscan.c > --- a/mm/vmscan.c~a > +++ a/mm/vmscan.c > @@ -1873,8 +1873,7 @@ restart: > nr[LRU_INACTIVE_FILE]) { > for_each_evictable_lru(lru) { > if (nr[lru]) { > - nr_to_scan = min_t(unsigned long, > - nr[lru], SWAP_CLUSTER_MAX); > + nr_to_scan = min(nr[lru], SWAP_CLUSTER_MAX); > nr[lru] -= nr_to_scan; > > nr_reclaimed += shrink_list(lru, nr_to_scan, > _ > > > From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Subject: mm/vmscan.c:__zone_reclaim(): replace max_t() with max() > > "mm: vmscan: save work scanning (almost) empty LRU lists" made > SWAP_CLUSTER_MAX an unsigned long. > > Cc: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: Rik van Riel <riel@xxxxxxxxxx> > Cc: Mel Gorman <mgorman@xxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxx> > Cc: Hugh Dickins <hughd@xxxxxxxxxx> > Cc: Satoru Moriya <satoru.moriya@xxxxxxx> > Cc: Simon Jeons <simon.jeons@xxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> > --- > > mm/vmscan.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff -puN mm/vmscan.c~mm-vmscanc-__zone_reclaim-replace-max_t-with-max mm/vmscan.c > --- a/mm/vmscan.c~mm-vmscanc-__zone_reclaim-replace-max_t-with-max > +++ a/mm/vmscan.c > @@ -3347,8 +3347,7 @@ static int __zone_reclaim(struct zone *z > .may_writepage = !!(zone_reclaim_mode & RECLAIM_WRITE), > .may_unmap = !!(zone_reclaim_mode & RECLAIM_SWAP), > .may_swap = 1, > - .nr_to_reclaim = max_t(unsigned long, nr_pages, > - SWAP_CLUSTER_MAX), > + .nr_to_reclaim = max(nr_pages, SWAP_CLUSTER_MAX), > .gfp_mask = gfp_mask, > .order = order, > .priority = ZONE_RECLAIM_PRIORITY, > _ > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>