Messages in this thread Patch in this message | | | From | Minchan Kim <> | Subject | [RFC 2/4] mm: introduce __swapcache_free | Date | Mon, 13 May 2013 11:10:46 +0900 |
| |
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
| |