mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 15:14:18 +08:00
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: 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>
This commit is contained in:
parent
a16601c545
commit
86760a2c6e
@ -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));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user