From: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
To: Jianyu Zhan <nasa4836@gmail.com>
Cc: akpm@linux-foundation.org, minchan@kernel.org,
hannes@cmpxchg.org, shli@kernel.org, bob.liu@oracle.com,
sjenning@linux.vnet.ibm.com, iamjoonsoo.kim@lge.com,
aquini@redhat.com, mgorman@suse.de, riel@redhat.com,
aarcange@redhat.com, khalid.aziz@oracle.com,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH] mm/swap: cleanup *lru_cache_add* functions
Date: Mon, 21 Apr 2014 09:00:19 +0800 [thread overview]
Message-ID: <53546DA3.2080709@cn.fujitsu.com> (raw)
In-Reply-To: <1397835565-6411-1-git-send-email-nasa4836@gmail.com>
Hi Jianyu
On 04/18/2014 11:39 PM, Jianyu Zhan wrote:
> Hi, Christoph Hellwig,
>
>> There are no modular users of lru_cache_add, so please don't needlessly
>> export it.
>
> yep, I re-checked and found there is no module user of neither
> lru_cache_add() nor lru_cache_add_anon(), so don't export it.
>
> Here is the renewed patch:
> ---
>
> In mm/swap.c, __lru_cache_add() is exported, but actually there are
> no users outside this file. However, lru_cache_add() is supposed to
> be used by vfs, or whatever others, but it is not exported.
>
> This patch unexports __lru_cache_add(), and makes it static.
> It also exports lru_cache_add_file(), as it is use by cifs, which
> be loaded as module.
What should be exported?
lru_cache_add()
lru_cache_add_anon()
lru_cache_add_file()
It seems you only export lru_cache_add_file() in the patch.
Thanks
>
> Signed-off-by: Jianyu Zhan <nasa4836@gmail.com>
> ---
> include/linux/swap.h | 19 ++-----------------
> mm/swap.c | 31 +++++++++++++++++++++++--------
> 2 files changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/include/linux/swap.h b/include/linux/swap.h
> index 3507115..5a14b92 100644
> --- a/include/linux/swap.h
> +++ b/include/linux/swap.h
> @@ -308,8 +308,9 @@ extern unsigned long nr_free_pagecache_pages(void);
>
>
> /* linux/mm/swap.c */
> -extern void __lru_cache_add(struct page *);
> extern void lru_cache_add(struct page *);
> +extern void lru_cache_add_anon(struct page *page);
> +extern void lru_cache_add_file(struct page *page);
> extern void lru_add_page_tail(struct page *page, struct page *page_tail,
> struct lruvec *lruvec, struct list_head *head);
> extern void activate_page(struct page *);
> @@ -323,22 +324,6 @@ extern void swap_setup(void);
>
> extern void add_page_to_unevictable_list(struct page *page);
>
> -/**
> - * lru_cache_add: add a page to the page lists
> - * @page: the page to add
> - */
> -static inline void lru_cache_add_anon(struct page *page)
> -{
> - ClearPageActive(page);
> - __lru_cache_add(page);
> -}
> -
> -static inline void lru_cache_add_file(struct page *page)
> -{
> - ClearPageActive(page);
> - __lru_cache_add(page);
> -}
> -
> /* linux/mm/vmscan.c */
> extern unsigned long try_to_free_pages(struct zonelist *zonelist, int order,
> gfp_t gfp_mask, nodemask_t *mask);
> diff --git a/mm/swap.c b/mm/swap.c
> index ab3f508..c0cd7d0 100644
> --- a/mm/swap.c
> +++ b/mm/swap.c
> @@ -582,13 +582,7 @@ void mark_page_accessed(struct page *page)
> }
> EXPORT_SYMBOL(mark_page_accessed);
>
> -/*
> - * Queue the page for addition to the LRU via pagevec. The decision on whether
> - * to add the page to the [in]active [file|anon] list is deferred until the
> - * pagevec is drained. This gives a chance for the caller of __lru_cache_add()
> - * have the page added to the active list using mark_page_accessed().
> - */
> -void __lru_cache_add(struct page *page)
> +static void __lru_cache_add(struct page *page)
> {
> struct pagevec *pvec = &get_cpu_var(lru_add_pvec);
>
> @@ -598,11 +592,32 @@ void __lru_cache_add(struct page *page)
> pagevec_add(pvec, page);
> put_cpu_var(lru_add_pvec);
> }
> -EXPORT_SYMBOL(__lru_cache_add);
> +
> +/**
> + * lru_cache_add: add a page to the page lists
> + * @page: the page to add
> + */
> +void lru_cache_add_anon(struct page *page)
> +{
> + ClearPageActive(page);
> + __lru_cache_add(page);
> +}
> +
> +void lru_cache_add_file(struct page *page)
> +{
> + ClearPageActive(page);
> + __lru_cache_add(page);
> +}
> +EXPORT_SYMBOL(lru_cache_add_file);
>
> /**
> * lru_cache_add - add a page to a page list
> * @page: the page to be added to the LRU.
> + *
> + * Queue the page for addition to the LRU via pagevec. The decision on whether
> + * to add the page to the [in]active [file|anon] list is deferred until the
> + * pagevec is drained. This gives a chance for the caller of lru_cache_add()
> + * have the page added to the active list using mark_page_accessed().
> */
> void lru_cache_add(struct page *page)
> {
>
--
Thanks.
Zhang Yanfei
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
To: Jianyu Zhan <nasa4836@gmail.com>
Cc: <akpm@linux-foundation.org>, <minchan@kernel.org>,
<hannes@cmpxchg.org>, <shli@kernel.org>, <bob.liu@oracle.com>,
<sjenning@linux.vnet.ibm.com>, <iamjoonsoo.kim@lge.com>,
<aquini@redhat.com>, <mgorman@suse.de>, <riel@redhat.com>,
<aarcange@redhat.com>, <khalid.aziz@oracle.com>,
<linux-kernel@vger.kernel.org>, <linux-mm@kvack.org>
Subject: Re: [PATCH] mm/swap: cleanup *lru_cache_add* functions
Date: Mon, 21 Apr 2014 09:00:19 +0800 [thread overview]
Message-ID: <53546DA3.2080709@cn.fujitsu.com> (raw)
In-Reply-To: <1397835565-6411-1-git-send-email-nasa4836@gmail.com>
Hi Jianyu
On 04/18/2014 11:39 PM, Jianyu Zhan wrote:
> Hi, Christoph Hellwig,
>
>> There are no modular users of lru_cache_add, so please don't needlessly
>> export it.
>
> yep, I re-checked and found there is no module user of neither
> lru_cache_add() nor lru_cache_add_anon(), so don't export it.
>
> Here is the renewed patch:
> ---
>
> In mm/swap.c, __lru_cache_add() is exported, but actually there are
> no users outside this file. However, lru_cache_add() is supposed to
> be used by vfs, or whatever others, but it is not exported.
>
> This patch unexports __lru_cache_add(), and makes it static.
> It also exports lru_cache_add_file(), as it is use by cifs, which
> be loaded as module.
What should be exported?
lru_cache_add()
lru_cache_add_anon()
lru_cache_add_file()
It seems you only export lru_cache_add_file() in the patch.
Thanks
>
> Signed-off-by: Jianyu Zhan <nasa4836@gmail.com>
> ---
> include/linux/swap.h | 19 ++-----------------
> mm/swap.c | 31 +++++++++++++++++++++++--------
> 2 files changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/include/linux/swap.h b/include/linux/swap.h
> index 3507115..5a14b92 100644
> --- a/include/linux/swap.h
> +++ b/include/linux/swap.h
> @@ -308,8 +308,9 @@ extern unsigned long nr_free_pagecache_pages(void);
>
>
> /* linux/mm/swap.c */
> -extern void __lru_cache_add(struct page *);
> extern void lru_cache_add(struct page *);
> +extern void lru_cache_add_anon(struct page *page);
> +extern void lru_cache_add_file(struct page *page);
> extern void lru_add_page_tail(struct page *page, struct page *page_tail,
> struct lruvec *lruvec, struct list_head *head);
> extern void activate_page(struct page *);
> @@ -323,22 +324,6 @@ extern void swap_setup(void);
>
> extern void add_page_to_unevictable_list(struct page *page);
>
> -/**
> - * lru_cache_add: add a page to the page lists
> - * @page: the page to add
> - */
> -static inline void lru_cache_add_anon(struct page *page)
> -{
> - ClearPageActive(page);
> - __lru_cache_add(page);
> -}
> -
> -static inline void lru_cache_add_file(struct page *page)
> -{
> - ClearPageActive(page);
> - __lru_cache_add(page);
> -}
> -
> /* linux/mm/vmscan.c */
> extern unsigned long try_to_free_pages(struct zonelist *zonelist, int order,
> gfp_t gfp_mask, nodemask_t *mask);
> diff --git a/mm/swap.c b/mm/swap.c
> index ab3f508..c0cd7d0 100644
> --- a/mm/swap.c
> +++ b/mm/swap.c
> @@ -582,13 +582,7 @@ void mark_page_accessed(struct page *page)
> }
> EXPORT_SYMBOL(mark_page_accessed);
>
> -/*
> - * Queue the page for addition to the LRU via pagevec. The decision on whether
> - * to add the page to the [in]active [file|anon] list is deferred until the
> - * pagevec is drained. This gives a chance for the caller of __lru_cache_add()
> - * have the page added to the active list using mark_page_accessed().
> - */
> -void __lru_cache_add(struct page *page)
> +static void __lru_cache_add(struct page *page)
> {
> struct pagevec *pvec = &get_cpu_var(lru_add_pvec);
>
> @@ -598,11 +592,32 @@ void __lru_cache_add(struct page *page)
> pagevec_add(pvec, page);
> put_cpu_var(lru_add_pvec);
> }
> -EXPORT_SYMBOL(__lru_cache_add);
> +
> +/**
> + * lru_cache_add: add a page to the page lists
> + * @page: the page to add
> + */
> +void lru_cache_add_anon(struct page *page)
> +{
> + ClearPageActive(page);
> + __lru_cache_add(page);
> +}
> +
> +void lru_cache_add_file(struct page *page)
> +{
> + ClearPageActive(page);
> + __lru_cache_add(page);
> +}
> +EXPORT_SYMBOL(lru_cache_add_file);
>
> /**
> * lru_cache_add - add a page to a page list
> * @page: the page to be added to the LRU.
> + *
> + * Queue the page for addition to the LRU via pagevec. The decision on whether
> + * to add the page to the [in]active [file|anon] list is deferred until the
> + * pagevec is drained. This gives a chance for the caller of lru_cache_add()
> + * have the page added to the active list using mark_page_accessed().
> */
> void lru_cache_add(struct page *page)
> {
>
--
Thanks.
Zhang Yanfei
next prev parent reply other threads:[~2014-04-21 1:02 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-18 15:39 [PATCH] mm/swap: cleanup *lru_cache_add* functions Jianyu Zhan
2014-04-18 15:39 ` Jianyu Zhan
2014-04-18 21:14 ` Rik van Riel
2014-04-18 21:14 ` Rik van Riel
2014-04-21 1:00 ` Zhang Yanfei [this message]
2014-04-21 1:00 ` Zhang Yanfei
2014-04-21 4:02 ` Jianyu Zhan
2014-04-21 4:02 ` Jianyu Zhan
2014-04-21 6:09 ` Zhang Yanfei
2014-04-21 6:09 ` Zhang Yanfei
-- strict thread matches above, loose matches on Subject: below --
2014-04-18 13:09 Jianyu Zhan
2014-04-18 13:09 ` Jianyu Zhan
2014-04-18 13:51 ` Christoph Hellwig
2014-04-18 13:51 ` Christoph Hellwig
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=53546DA3.2080709@cn.fujitsu.com \
--to=zhangyanfei@cn.fujitsu.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=aquini@redhat.com \
--cc=bob.liu@oracle.com \
--cc=hannes@cmpxchg.org \
--cc=iamjoonsoo.kim@lge.com \
--cc=khalid.aziz@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=minchan@kernel.org \
--cc=nasa4836@gmail.com \
--cc=riel@redhat.com \
--cc=shli@kernel.org \
--cc=sjenning@linux.vnet.ibm.com \
/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.