mm/page_alloc.c: use list_for_each_entry in mark_free_pages()
authorGeliang Tang <geliangtang@163.com>
Thu, 14 Jan 2016 23:20:33 +0000 (15:20 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 15 Jan 2016 00:00:49 +0000 (16:00 -0800)
Use list_for_each_entry instead of list_for_each + list_entry to
simplify the code.

Signed-off-by: Geliang Tang <geliangtang@163.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Mel Gorman <mgorman@techsingularity.net>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/page_alloc.c

index b9747aa0fb593bc68de62d102e2fc299ca9fed28..d7f5bc8951571b2b632d582b373bc05978099844 100644 (file)
@@ -1980,7 +1980,7 @@ void mark_free_pages(struct zone *zone)
        unsigned long pfn, max_zone_pfn;
        unsigned long flags;
        unsigned int order, t;
-       struct list_head *curr;
+       struct page *page;
 
        if (zone_is_empty(zone))
                return;
@@ -1990,17 +1990,17 @@ void mark_free_pages(struct zone *zone)
        max_zone_pfn = zone_end_pfn(zone);
        for (pfn = zone->zone_start_pfn; pfn < max_zone_pfn; pfn++)
                if (pfn_valid(pfn)) {
-                       struct page *page = pfn_to_page(pfn);
-
+                       page = pfn_to_page(pfn);
                        if (!swsusp_page_is_forbidden(page))
                                swsusp_unset_page_free(page);
                }
 
        for_each_migratetype_order(order, t) {
-               list_for_each(curr, &zone->free_area[order].free_list[t]) {
+               list_for_each_entry(page,
+                               &zone->free_area[order].free_list[t], lru) {
                        unsigned long i;
 
-                       pfn = page_to_pfn(list_entry(curr, struct page, lru));
+                       pfn = page_to_pfn(page);
                        for (i = 0; i < (1UL << order); i++)
                                swsusp_set_page_free(pfn_to_page(pfn + i));
                }