From: Andrew Morton <akpm@linux-foundation.org>
To: Li Hong <lihong.hi@gmail.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Subject: Re: [PATCH 3/3] mm: remove function free_hot_page
Date: Thu, 14 Jan 2010 14:52:47 -0800 [thread overview]
Message-ID: <20100114145247.076430b4.akpm@linux-foundation.org> (raw)
In-Reply-To: <3a3680031001130654q1928df60pde0e3706ea2461c@mail.gmail.com>
On Wed, 13 Jan 2010 22:54:50 +0800
Li Hong <lihong.hi@gmail.com> wrote:
> Now fuction 'free_hot_page' is just a wrap of ' free_hot_cold_page' with
> parameter 'cold = 0'. After adding a clear comment for 'free_hot_cold_page', it
> is reasonable to remove a level of call.
>
> Signed-off-by: Li Hong <lihong.hi@gmail.com>
> ---
> mm/page_alloc.c | 8 ++------
> mm/swap.c | 2 +-
> 2 files changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 175dd36..c88e03d 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -1073,6 +1073,7 @@ void mark_free_pages(struct zone *zone)
>
> /*
> * Free a 0-order page
> + * cold == 1 ? free a cold page : free a hot page
> */
> static void free_hot_cold_page(struct page *page, int cold)
> {
> @@ -1135,11 +1136,6 @@ out:
> put_cpu();
> }
>
> -void free_hot_page(struct page *page)
> -{
> - free_hot_cold_page(page, 0);
> -}
> -
> /*
> * split_page takes a non-compound higher-order page, and splits it into
> * n (1<<order) sub-pages: page[0..n]
> @@ -2014,7 +2010,7 @@ void __free_pages(struct page *page, unsigned int order)
> {
> if (put_page_testzero(page)) {
> if (order == 0)
> - free_hot_page(page);
> + free_hot_cold_page(page, 0);
> else
> __free_pages_ok(page, order);
> }
> diff --git a/mm/swap.c b/mm/swap.c
> index 308e57d..9036b89 100644
> --- a/mm/swap.c
> +++ b/mm/swap.c
> @@ -55,7 +55,7 @@ static void __page_cache_release(struct page *page)
> del_page_from_lru(zone, page);
> spin_unlock_irqrestore(&zone->lru_lock, flags);
> }
> - free_hot_page(page);
> + free_hot_cold_page(page, 0);
> }
yup, it's worth removing a level of function call.
We could do that simply by making free_hot_page() an inline function -
that would be a bit neater and wouild generate the same code as your
patch will.
WARNING: multiple messages have this Message-ID (diff)
From: Andrew Morton <akpm@linux-foundation.org>
To: Li Hong <lihong.hi@gmail.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Subject: Re: [PATCH 3/3] mm: remove function free_hot_page
Date: Thu, 14 Jan 2010 14:52:47 -0800 [thread overview]
Message-ID: <20100114145247.076430b4.akpm@linux-foundation.org> (raw)
In-Reply-To: <3a3680031001130654q1928df60pde0e3706ea2461c@mail.gmail.com>
On Wed, 13 Jan 2010 22:54:50 +0800
Li Hong <lihong.hi@gmail.com> wrote:
> Now fuction 'free_hot_page' is just a wrap of ' free_hot_cold_page' with
> parameter 'cold = 0'. After adding a clear comment for 'free_hot_cold_page', it
> is reasonable to remove a level of call.
>
> Signed-off-by: Li Hong <lihong.hi@gmail.com>
> ---
> mm/page_alloc.c | 8 ++------
> mm/swap.c | 2 +-
> 2 files changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 175dd36..c88e03d 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -1073,6 +1073,7 @@ void mark_free_pages(struct zone *zone)
>
> /*
> * Free a 0-order page
> + * cold == 1 ? free a cold page : free a hot page
> */
> static void free_hot_cold_page(struct page *page, int cold)
> {
> @@ -1135,11 +1136,6 @@ out:
> put_cpu();
> }
>
> -void free_hot_page(struct page *page)
> -{
> - free_hot_cold_page(page, 0);
> -}
> -
> /*
> * split_page takes a non-compound higher-order page, and splits it into
> * n (1<<order) sub-pages: page[0..n]
> @@ -2014,7 +2010,7 @@ void __free_pages(struct page *page, unsigned int order)
> {
> if (put_page_testzero(page)) {
> if (order == 0)
> - free_hot_page(page);
> + free_hot_cold_page(page, 0);
> else
> __free_pages_ok(page, order);
> }
> diff --git a/mm/swap.c b/mm/swap.c
> index 308e57d..9036b89 100644
> --- a/mm/swap.c
> +++ b/mm/swap.c
> @@ -55,7 +55,7 @@ static void __page_cache_release(struct page *page)
> del_page_from_lru(zone, page);
> spin_unlock_irqrestore(&zone->lru_lock, flags);
> }
> - free_hot_page(page);
> + free_hot_cold_page(page, 0);
> }
yup, it's worth removing a level of function call.
We could do that simply by making free_hot_page() an inline function -
that would be a bit neater and wouild generate the same code as your
patch will.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2010-01-14 22:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-13 14:54 [PATCH 3/3] mm: remove function free_hot_page Li Hong
2010-01-13 14:54 ` Li Hong
2010-01-13 15:55 ` Américo Wang
2010-01-13 15:55 ` Américo Wang
2010-01-13 16:07 ` Li Hong
2010-01-13 16:07 ` Li Hong
2010-01-14 22:52 ` Andrew Morton [this message]
2010-01-14 22:52 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100114145247.076430b4.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=eduard.munteanu@linux360.ro \
--cc=lihong.hi@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.