linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mm: fix account pmd page to the process
@ 2016-06-16 11:36 zhongjiang
  2016-06-16 15:42 ` Michal Hocko
  0 siblings, 1 reply; 22+ messages in thread
From: zhongjiang @ 2016-06-16 11:36 UTC (permalink / raw)
  To: akpm; +Cc: linux-mm, linux-kernel, zhongjiang

From: zhong jiang <zhongjiang@huawei.com>

when a process acquire a pmd table shared by other process, we
increase the account to current process. otherwise, a race result
in other tasks have set the pud entry. so it no need to increase it.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 mm/hugetlb.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 19d0d08..3b025c5 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4189,10 +4189,9 @@ pte_t *huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud)
 	if (pud_none(*pud)) {
 		pud_populate(mm, pud,
 				(pmd_t *)((unsigned long)spte & PAGE_MASK));
-	} else {
+	} else 
 		put_page(virt_to_page(spte));
-		mm_inc_nr_pmds(mm);
-	}
+
 	spin_unlock(ptl);
 out:
 	pte = (pte_t *)pmd_alloc(mm, pud, addr);
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread
[parent not found: <1466163941-12952-1-git-send-email-zhongjiang@huawei.com>]
* [PATCH] mm: fix account pmd page to the process
@ 2016-06-17 11:56 zhongjiang
  2016-06-17 12:21 ` Michal Hocko
  0 siblings, 1 reply; 22+ messages in thread
From: zhongjiang @ 2016-06-17 11:56 UTC (permalink / raw)
  To: mhocko, mike.kravetz, akpm, kirill; +Cc: linux-mm, linux-kernel

From: zhong jiang <zhongjiang@huawei.com>

hen a process acquire a pmd table shared by other process, we
increase the account to current process. otherwise, a race result
in other tasks have set the pud entry. so it no need to increase it.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 mm/hugetlb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 19d0d08..3072857 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4191,7 +4191,7 @@ pte_t *huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud)
 				(pmd_t *)((unsigned long)spte & PAGE_MASK));
 	} else {
 		put_page(virt_to_page(spte));
-		mm_inc_nr_pmds(mm);
+		mm_dec_nr_pmds(mm);
 	}
 	spin_unlock(ptl);
 out:
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread
[parent not found: <1466076175-23444-1-git-send-email-zhongjiang@huawei.com>]
* [PATCH] mm: fix account pmd page to the process
@ 2016-06-16 11:28 zhongjiang
  0 siblings, 0 replies; 22+ messages in thread
From: zhongjiang @ 2016-06-16 11:28 UTC (permalink / raw)
  To: kirill.shutemov, akpm; +Cc: linux-mm, linux-kernel, zhongjiang

From: zhong jiang <zhongjiang@huawei.com>

when a process acquire a pmd table shared by other process, we
increase the account to current process. otherwise, a race result
in other tasks have set the pud entry. so it no need to increase it.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 mm/hugetlb.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 19d0d08..3b025c5 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4189,10 +4189,9 @@ pte_t *huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud)
 	if (pud_none(*pud)) {
 		pud_populate(mm, pud,
 				(pmd_t *)((unsigned long)spte & PAGE_MASK));
-	} else {
+	} else 
 		put_page(virt_to_page(spte));
-		mm_inc_nr_pmds(mm);
-	}
+
 	spin_unlock(ptl);
 out:
 	pte = (pte_t *)pmd_alloc(mm, pud, addr);
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread
* [PATCH] mm: fix account pmd page to the process
@ 2016-06-16 11:17 zhongjiang
  0 siblings, 0 replies; 22+ messages in thread
From: zhongjiang @ 2016-06-16 11:17 UTC (permalink / raw)
  To: kirill.shutemov, akpm; +Cc: linux-mm, linux-kernel

From: zhong jiang <zhongjiang@huawei.com>

when a process acquire a pmd table shared by other process, we
increase the account to current process. otherwise, a race result
in other tasks have set the pud entry. so it no need to increase it.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 mm/hugetlb.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 19d0d08..3b025c5 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4189,10 +4189,9 @@ pte_t *huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud)
 	if (pud_none(*pud)) {
 		pud_populate(mm, pud,
 				(pmd_t *)((unsigned long)spte & PAGE_MASK));
-	} else {
+	} else 
 		put_page(virt_to_page(spte));
-		mm_inc_nr_pmds(mm);
-	}
+
 	spin_unlock(ptl);
 out:
 	pte = (pte_t *)pmd_alloc(mm, pud, addr);
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread
* [PATCH] mm: fix account pmd page to the process
@ 2016-06-16 11:16 zhongjiang
  0 siblings, 0 replies; 22+ messages in thread
From: zhongjiang @ 2016-06-16 11:16 UTC (permalink / raw)
  To: kirill.shutemov, akpm; +Cc: linux-mm, linux-kernel

From: zhong jiang <zhongjiang@huawei.com>

when a process acquire a pmd table shared by other process, we
increase the account to current process. otherwise, a race result
in other tasks have set the pud entry. so it no need to increase it.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 mm/hugetlb.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 19d0d08..3b025c5 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4189,10 +4189,9 @@ pte_t *huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud)
 	if (pud_none(*pud)) {
 		pud_populate(mm, pud,
 				(pmd_t *)((unsigned long)spte & PAGE_MASK));
-	} else {
+	} else 
 		put_page(virt_to_page(spte));
-		mm_inc_nr_pmds(mm);
-	}
+
 	spin_unlock(ptl);
 out:
 	pte = (pte_t *)pmd_alloc(mm, pud, addr);
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread
* [PATCH] mm: fix account pmd page to the process
@ 2016-06-16 11:13 zhongjiang
  0 siblings, 0 replies; 22+ messages in thread
From: zhongjiang @ 2016-06-16 11:13 UTC (permalink / raw)
  To: kirill.shutemov, akpm; +Cc: linux-mm, linux-kernel

From: zhong jiang <zhongjiang@huawei.com>

when a process acquire a pmd table shared by other process, we
increase the account to current process. otherwise, a race result
in other tasks have set the pud entry. so it no need to increase it.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 mm/hugetlb.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 19d0d08..3b025c5 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4189,10 +4189,9 @@ pte_t *huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud)
 	if (pud_none(*pud)) {
 		pud_populate(mm, pud,
 				(pmd_t *)((unsigned long)spte & PAGE_MASK));
-	} else {
+	} else 
 		put_page(virt_to_page(spte));
-		mm_inc_nr_pmds(mm);
-	}
+
 	spin_unlock(ptl);
 out:
 	pte = (pte_t *)pmd_alloc(mm, pud, addr);
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread
* [PATCH] mm: fix account pmd page to the process
@ 2016-06-16  7:47 zhongjiang
  0 siblings, 0 replies; 22+ messages in thread
From: zhongjiang @ 2016-06-16  7:47 UTC (permalink / raw)
  To: akpm, kirill.shutemov; +Cc: linux-kernel, linux-mm

From: zhong jiang <zhongjiang@huawei.com>

when a process acquire a pmd table shared by other process, we
increase the account to current process. otherwise, a race result
in other tasks have set the pud entry. so it no need to increase it.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 mm/hugetlb.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 19d0d08..3b025c5 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4189,10 +4189,9 @@ pte_t *huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud)
 	if (pud_none(*pud)) {
 		pud_populate(mm, pud,
 				(pmd_t *)((unsigned long)spte & PAGE_MASK));
-	} else {
+	} else 
 		put_page(virt_to_page(spte));
-		mm_inc_nr_pmds(mm);
-	}
+
 	spin_unlock(ptl);
 out:
 	pte = (pte_t *)pmd_alloc(mm, pud, addr);
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2016-06-18  5:08 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-16 11:36 [PATCH] mm: fix account pmd page to the process zhongjiang
2016-06-16 15:42 ` Michal Hocko
2016-06-16 15:43   ` Michal Hocko
2016-06-16 16:05     ` Mike Kravetz
2016-06-16 16:31       ` Michal Hocko
2016-06-16 16:47         ` Mike Kravetz
2016-06-17 12:25           ` Kirill A. Shutemov
2016-06-17 13:00             ` Michal Hocko
2016-06-17 14:25               ` Kirill A. Shutemov
2016-06-17 15:39             ` Mike Kravetz
2016-06-18  5:07               ` zhong jiang
2016-06-17 11:18   ` zhong jiang
     [not found] <1466163941-12952-1-git-send-email-zhongjiang@huawei.com>
2016-06-17 12:01 ` zhong jiang
  -- strict thread matches above, loose matches on Subject: below --
2016-06-17 11:56 zhongjiang
2016-06-17 12:21 ` Michal Hocko
2016-06-17 13:04   ` zhong jiang
     [not found] <1466076175-23444-1-git-send-email-zhongjiang@huawei.com>
2016-06-16 11:30 ` zhong jiang
2016-06-16 11:28 zhongjiang
2016-06-16 11:17 zhongjiang
2016-06-16 11:16 zhongjiang
2016-06-16 11:13 zhongjiang
2016-06-16  7:47 zhongjiang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).