From: Minchan Kim <minchan@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Rik van Riel <riel@redhat.com>, Mel Gorman <mgorman@suse.de>,
Johannes Weiner <hannes@cmpxchg.org>,
Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Michal Hocko <mhocko@suse.cz>, Hugh Dickins <hughd@google.com>,
Minchan Kim <minchan@kernel.org>
Subject: [RFC 2/4] mm: introduce __swapcache_free
Date: Mon, 13 May 2013 11:10:46 +0900 [thread overview]
Message-ID: <1368411048-3753-3-git-send-email-minchan@kernel.org> (raw)
In-Reply-To: <1368411048-3753-1-git-send-email-minchan@kernel.org>
The __swapcache_free is almost same with swapcache_free
but only difference is that caller should pass stable swap_info_struct.
This function will be used by next patchsets.
Signed-off-by: Minchan Kim <minchan@kernel.org>
---
mm/swapfile.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/mm/swapfile.c b/mm/swapfile.c
index 2966978..33ebdd5 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -634,20 +634,26 @@ void swap_free(swp_entry_t entry)
}
}
+
+void __swapcache_free(struct swap_info_struct *p,
+ swp_entry_t entry, struct page *page)
+{
+ unsigned char count;
+ count = swap_entry_free(p, entry, SWAP_HAS_CACHE);
+ mem_cgroup_uncharge_swapcache(page, entry, count != 0);
+}
+
/*
* Called after dropping swapcache to decrease refcnt to swap entries.
*/
void swapcache_free(swp_entry_t entry, struct page *page)
{
struct swap_info_struct *p;
- unsigned char count;
p = swap_info_get(entry);
if (p) {
spin_lock(&p->lock);
- count = swap_entry_free(p, entry, SWAP_HAS_CACHE);
- if (page)
- mem_cgroup_uncharge_swapcache(page, entry, count != 0);
+ __swapcache_free(p, entry, page);
spin_unlock(&p->lock);
}
}
--
1.8.2.1
--
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: Minchan Kim <minchan@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Rik van Riel <riel@redhat.com>, Mel Gorman <mgorman@suse.de>,
Johannes Weiner <hannes@cmpxchg.org>,
Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Michal Hocko <mhocko@suse.cz>, Hugh Dickins <hughd@google.com>,
Minchan Kim <minchan@kernel.org>
Subject: [RFC 2/4] mm: introduce __swapcache_free
Date: Mon, 13 May 2013 11:10:46 +0900 [thread overview]
Message-ID: <1368411048-3753-3-git-send-email-minchan@kernel.org> (raw)
In-Reply-To: <1368411048-3753-1-git-send-email-minchan@kernel.org>
The __swapcache_free is almost same with swapcache_free
but only difference is that caller should pass stable swap_info_struct.
This function will be used by next patchsets.
Signed-off-by: Minchan Kim <minchan@kernel.org>
---
mm/swapfile.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/mm/swapfile.c b/mm/swapfile.c
index 2966978..33ebdd5 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -634,20 +634,26 @@ void swap_free(swp_entry_t entry)
}
}
+
+void __swapcache_free(struct swap_info_struct *p,
+ swp_entry_t entry, struct page *page)
+{
+ unsigned char count;
+ count = swap_entry_free(p, entry, SWAP_HAS_CACHE);
+ mem_cgroup_uncharge_swapcache(page, entry, count != 0);
+}
+
/*
* Called after dropping swapcache to decrease refcnt to swap entries.
*/
void swapcache_free(swp_entry_t entry, struct page *page)
{
struct swap_info_struct *p;
- unsigned char count;
p = swap_info_get(entry);
if (p) {
spin_lock(&p->lock);
- count = swap_entry_free(p, entry, SWAP_HAS_CACHE);
- if (page)
- mem_cgroup_uncharge_swapcache(page, entry, count != 0);
+ __swapcache_free(p, entry, page);
spin_unlock(&p->lock);
}
}
--
1.8.2.1
next prev parent reply other threads:[~2013-05-13 2:11 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-13 2:10 [RFC 0/4] free reclaimed pages by paging out instantly Minchan Kim
2013-05-13 2:10 ` Minchan Kim
2013-05-13 2:10 ` [RFC 1/4] mm: Don't hide spin_lock in swap_info_get Minchan Kim
2013-05-13 2:10 ` Minchan Kim
2013-05-13 2:10 ` Minchan Kim [this message]
2013-05-13 2:10 ` [RFC 2/4] mm: introduce __swapcache_free Minchan Kim
2013-05-13 2:10 ` [RFC 3/4] mm: support remove_mapping in irqcontext Minchan Kim
2013-05-13 2:10 ` Minchan Kim
2013-05-13 14:58 ` Michal Hocko
2013-05-13 14:58 ` Michal Hocko
2013-05-14 7:17 ` Minchan Kim
2013-05-14 7:17 ` Minchan Kim
2013-05-13 2:10 ` [RFC 4/4] mm: free reclaimed pages instantly without depending next reclaim Minchan Kim
2013-05-13 2:10 ` Minchan Kim
2013-05-14 17:32 ` Rik van Riel
2013-05-14 17:32 ` Rik van Riel
2013-05-15 7:12 ` Minchan Kim
2013-05-15 7:12 ` Minchan Kim
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=1368411048-3753-3-git-send-email-minchan@kernel.org \
--to=minchan@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=hughd@google.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=mhocko@suse.cz \
--cc=riel@redhat.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.