aboutsummaryrefslogtreecommitdiffstats
path: root/mm/memcontrol.c
diff options
context:
space:
mode:
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>2016-01-21 19:40:25 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2016-01-21 20:20:51 -0500
commitb6ec57f4b92e9bae4617f7d98a054d45370284bb (patch)
tree31b894dc2fa7c8a885baa4be7094c73002999719 /mm/memcontrol.c
parent404a47410c26a115123885977053e9a1a4460929 (diff)
thp: change pmd_trans_huge_lock() interface to return ptl
After THP refcounting rework we have only two possible return values from pmd_trans_huge_lock(): success and failure. Return-by-pointer for ptl doesn't make much sense in this case. Let's convert pmd_trans_huge_lock() to return ptl on success and NULL on failure. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Cc: Minchan Kim <minchan@kernel.org> Acked-by: Michal Hocko <mhocko@suse.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r--mm/memcontrol.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index ca052f2a4a0b..d06cae2de783 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4638,7 +4638,8 @@ static int mem_cgroup_count_precharge_pte_range(pmd_t *pmd,
4638 pte_t *pte; 4638 pte_t *pte;
4639 spinlock_t *ptl; 4639 spinlock_t *ptl;
4640 4640
4641 if (pmd_trans_huge_lock(pmd, vma, &ptl)) { 4641 ptl = pmd_trans_huge_lock(pmd, vma);
4642 if (ptl) {
4642 if (get_mctgt_type_thp(vma, addr, *pmd, NULL) == MC_TARGET_PAGE) 4643 if (get_mctgt_type_thp(vma, addr, *pmd, NULL) == MC_TARGET_PAGE)
4643 mc.precharge += HPAGE_PMD_NR; 4644 mc.precharge += HPAGE_PMD_NR;
4644 spin_unlock(ptl); 4645 spin_unlock(ptl);
@@ -4826,7 +4827,8 @@ static int mem_cgroup_move_charge_pte_range(pmd_t *pmd,
4826 union mc_target target; 4827 union mc_target target;
4827 struct page *page; 4828 struct page *page;
4828 4829
4829 if (pmd_trans_huge_lock(pmd, vma, &ptl)) { 4830 ptl = pmd_trans_huge_lock(pmd, vma);
4831 if (ptl) {
4830 if (mc.precharge < HPAGE_PMD_NR) { 4832 if (mc.precharge < HPAGE_PMD_NR) {
4831 spin_unlock(ptl); 4833 spin_unlock(ptl);
4832 return 0; 4834 return 0;