Re: [PATCH] mm/page_alloc: use nth_page helper

From: Vlastimil Babka
Date: Fri Mar 24 2017 - 13:46:05 EST


On 24.3.2017 15:10, Geliang Tang wrote:
> Use nth_page() helper instead of page_to_pfn() and pfn_to_page() to
> simplify the code.

Well I've never heard of this helper so I would have to look it up to see what
it does. Looks like there's not many users.
Anyway it's simpler to use just "page + i" if within MAX_ORDER_NR_PAGES, which
should be the case here. That can also actually save a few cycles. Otherwise it
looks like a pointless churn to me.

> Signed-off-by: Geliang Tang <geliangtang@xxxxxxxxx>
> ---
> mm/page_alloc.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index f749b7f..3354f56 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -2511,9 +2511,8 @@ void mark_free_pages(struct zone *zone)
> &zone->free_area[order].free_list[t], lru) {
> unsigned long i;
>
> - pfn = page_to_pfn(page);
> for (i = 0; i < (1UL << order); i++)
> - swsusp_set_page_free(pfn_to_page(pfn + i));
> + swsusp_set_page_free(nth_page(page, i));
> }
> }
> spin_unlock_irqrestore(&zone->lock, flags);
>