]> xenbits.xensource.com Git - people/iwj/linux.git/commitdiff
mm: page_alloc: convert hot/cold parameter and immediate callers to bool
authorMel Gorman <mgorman@suse.de>
Wed, 4 Jun 2014 23:10:22 +0000 (16:10 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 30 Jan 2015 01:40:51 +0000 (17:40 -0800)
commit b745bc85f21ea707e4ea1a91948055fa3e72c77b upstream.

cold is a bool, make it one.  Make the likely case the "if" part of the
block instead of the else as according to the optimisation manual this is
preferred.

Signed-off-by: Mel Gorman <mgorman@suse.de>
Acked-by: Rik van Riel <riel@redhat.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Jan Kara <jack@suse.cz>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Hugh Dickins <hughd@google.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/tile/mm/homecache.c
fs/fuse/dev.c
include/linux/gfp.h
include/linux/pagemap.h
include/linux/swap.h
mm/page_alloc.c
mm/swap.c
mm/swap_state.c
mm/vmscan.c

index 004ba568d93f2bb4a2fa256c16da04720a4857f9..33294fdc402ef2794b810b6bb651819532c0e1dd 100644 (file)
@@ -417,7 +417,7 @@ void __homecache_free_pages(struct page *page, unsigned int order)
        if (put_page_testzero(page)) {
                homecache_change_page_home(page, order, PAGE_HOME_HASH);
                if (order == 0) {
-                       free_hot_cold_page(page, 0);
+                       free_hot_cold_page(page, false);
                } else {
                        init_page_count(page);
                        __free_pages(page, order);
index 0a648bb455ae70b5a84e55ad9209c5894822d1be..6eb13c621a14f24aa3eede3ab1d24a654f85f908 100644 (file)
@@ -1614,7 +1614,7 @@ out_finish:
 
 static void fuse_retrieve_end(struct fuse_conn *fc, struct fuse_req *req)
 {
-       release_pages(req->pages, req->num_pages, 0);
+       release_pages(req->pages, req->num_pages, false);
 }
 
 static int fuse_retrieve(struct fuse_conn *fc, struct inode *inode,
index 39b81dc7d01acdb28e6e888fea3399f7866057f8..3824ac62f395315fa47b05ab4f0a0b6fe8084ab0 100644 (file)
@@ -369,8 +369,8 @@ void *alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask);
 
 extern void __free_pages(struct page *page, unsigned int order);
 extern void free_pages(unsigned long addr, unsigned int order);
-extern void free_hot_cold_page(struct page *page, int cold);
-extern void free_hot_cold_page_list(struct list_head *list, int cold);
+extern void free_hot_cold_page(struct page *page, bool cold);
+extern void free_hot_cold_page_list(struct list_head *list, bool cold);
 
 extern void __free_memcg_kmem_pages(struct page *page, unsigned int order);
 extern void free_memcg_kmem_pages(unsigned long addr, unsigned int order);
index 09c1b03867d9dc59acc56ecea075e66f859e222c..0ab50001137751e6eda34d391f5ce323858fb995 100644 (file)
@@ -99,7 +99,7 @@ static inline void mapping_set_gfp_mask(struct address_space *m, gfp_t mask)
 
 #define page_cache_get(page)           get_page(page)
 #define page_cache_release(page)       put_page(page)
-void release_pages(struct page **pages, int nr, int cold);
+void release_pages(struct page **pages, int nr, bool cold);
 
 /*
  * speculatively take a reference to a page.
index 13eb44cfebb70c3d7ebd02cb7c113ea6c6b002fe..c8beed191dd175ae0bddeddeb082c957f7a08883 100644 (file)
@@ -441,7 +441,7 @@ mem_cgroup_uncharge_swapcache(struct page *page, swp_entry_t ent, bool swapout)
 #define free_page_and_swap_cache(page) \
        page_cache_release(page)
 #define free_pages_and_swap_cache(pages, nr) \
-       release_pages((pages), (nr), 0);
+       release_pages((pages), (nr), false);
 
 static inline void show_swap_cache_info(void)
 {
index 9c28480aa07ebaf66b8837f6feb13ab07a45cf5f..13566037167e521b380e5f2d7027895262da7b97 100644 (file)
@@ -1210,7 +1210,7 @@ retry_reserve:
  */
 static int rmqueue_bulk(struct zone *zone, unsigned int order,
                        unsigned long count, struct list_head *list,
-                       int migratetype, int cold)
+                       int migratetype, bool cold)
 {
        int i;
 
@@ -1229,7 +1229,7 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order,
                 * merge IO requests if the physical pages are ordered
                 * properly.
                 */
-               if (likely(cold == 0))
+               if (likely(!cold))
                        list_add(&page->lru, list);
                else
                        list_add_tail(&page->lru, list);
@@ -1390,9 +1390,9 @@ void mark_free_pages(struct zone *zone)
 
 /*
  * Free a 0-order page
- * cold == 1 ? free a cold page : free a hot page
+ * cold == true ? free a cold page : free a hot page
  */
-void free_hot_cold_page(struct page *page, int cold)
+void free_hot_cold_page(struct page *page, bool cold)
 {
        struct zone *zone = page_zone(page);
        struct per_cpu_pages *pcp;
@@ -1424,10 +1424,10 @@ void free_hot_cold_page(struct page *page, int cold)
        }
 
        pcp = &this_cpu_ptr(zone->pageset)->pcp;
-       if (cold)
-               list_add_tail(&page->lru, &pcp->lists[migratetype]);
-       else
+       if (!cold)
                list_add(&page->lru, &pcp->lists[migratetype]);
+       else
+               list_add_tail(&page->lru, &pcp->lists[migratetype]);
        pcp->count++;
        if (pcp->count >= pcp->high) {
                unsigned long batch = ACCESS_ONCE(pcp->batch);
@@ -1442,7 +1442,7 @@ out:
 /*
  * Free a list of 0-order pages
  */
-void free_hot_cold_page_list(struct list_head *list, int cold)
+void free_hot_cold_page_list(struct list_head *list, bool cold)
 {
        struct page *page, *next;
 
@@ -1559,7 +1559,7 @@ struct page *buffered_rmqueue(struct zone *preferred_zone,
 {
        unsigned long flags;
        struct page *page;
-       int cold = !!(gfp_flags & __GFP_COLD);
+       bool cold = ((gfp_flags & __GFP_COLD) != 0);
 
 again:
        if (likely(order == 0)) {
@@ -2868,7 +2868,7 @@ void __free_pages(struct page *page, unsigned int order)
 {
        if (put_page_testzero(page)) {
                if (order == 0)
-                       free_hot_cold_page(page, 0);
+                       free_hot_cold_page(page, false);
                else
                        __free_pages_ok(page, order);
        }
index 49dfd717726fc4af48f459db094415ddf013eb3c..d2445819fa585b0b104bb69d8f7fc29589a4d4f5 100644 (file)
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -67,7 +67,7 @@ static void __page_cache_release(struct page *page)
 static void __put_single_page(struct page *page)
 {
        __page_cache_release(page);
-       free_hot_cold_page(page, 0);
+       free_hot_cold_page(page, false);
 }
 
 static void __put_compound_page(struct page *page)
@@ -826,7 +826,7 @@ void lru_add_drain_all(void)
  * grabbed the page via the LRU.  If it did, give up: shrink_inactive_list()
  * will free it.
  */
-void release_pages(struct page **pages, int nr, int cold)
+void release_pages(struct page **pages, int nr, bool cold)
 {
        int i;
        LIST_HEAD(pages_to_free);
index e76ace30d4364e99e2311adc73e8fff87dfe6f5a..2972eee184a44c1dc1df3eeed766d7d3140e353b 100644 (file)
@@ -270,7 +270,7 @@ void free_pages_and_swap_cache(struct page **pages, int nr)
 
                for (i = 0; i < todo; i++)
                        free_swap_cache(pagep[i]);
-               release_pages(pagep, todo, 0);
+               release_pages(pagep, todo, false);
                pagep += todo;
                nr -= todo;
        }
index be6a689a71a6b87e40eb97b00d2bc352a1ec9a45..e3204efed9ef13619ffe6e00dc4c1654aad197f9 100644 (file)
@@ -1107,7 +1107,7 @@ keep:
                VM_BUG_ON_PAGE(PageLRU(page) || PageUnevictable(page), page);
        }
 
-       free_hot_cold_page_list(&free_pages, 1);
+       free_hot_cold_page_list(&free_pages, true);
 
        list_splice(&ret_pages, page_list);
        count_vm_events(PGACTIVATE, pgactivate);
@@ -1505,7 +1505,7 @@ shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec,
 
        spin_unlock_irq(&zone->lru_lock);
 
-       free_hot_cold_page_list(&page_list, 1);
+       free_hot_cold_page_list(&page_list, true);
 
        /*
         * If reclaim is isolating dirty pages under writeback, it implies
@@ -1725,7 +1725,7 @@ static void shrink_active_list(unsigned long nr_to_scan,
        __mod_zone_page_state(zone, NR_ISOLATED_ANON + file, -nr_taken);
        spin_unlock_irq(&zone->lru_lock);
 
-       free_hot_cold_page_list(&l_hold, 1);
+       free_hot_cold_page_list(&l_hold, true);
 }
 
 #ifdef CONFIG_SWAP