Commit 86760a2c authored by Geliang Tang's avatar Geliang Tang Committed by Linus Torvalds
Browse files

mm/page_alloc.c: use list_for_each_entry in mark_free_pages()



Use list_for_each_entry instead of list_for_each + list_entry to
simplify the code.

Signed-off-by: default avatarGeliang Tang <geliangtang@163.com>
Acked-by: default avatarMichal Hocko <mhocko@suse.com>
Acked-by: default avatarMel Gorman <mgorman@techsingularity.net>
Acked-by: default avatarDavid Rientjes <rientjes@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a16601c5
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -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));
		}