Re: [PATCH v4 15/20] powerpc/mm: Avoid useless lock with single page fragments

From: Christophe LEROY
Date: Tue Sep 25 2018 - 12:49:13 EST




Le 19/09/2018 Ã 04:56, Aneesh Kumar K.V a ÃcritÂ:
On 9/18/18 10:27 PM, Christophe Leroy wrote:
There is no point in taking the page table lock as
pte_frag is always NULL when we have only one fragment.

Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>
---
 arch/powerpc/mm/pgtable-frag.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/powerpc/mm/pgtable-frag.c b/arch/powerpc/mm/pgtable-frag.c
index bc924822dcd6..ab4910e92aaf 100644
--- a/arch/powerpc/mm/pgtable-frag.c
+++ b/arch/powerpc/mm/pgtable-frag.c
@@ -85,6 +85,9 @@ static pte_t *get_pte_from_cache(struct mm_struct *mm)
 {
ÂÂÂÂÂ void *pte_frag, *ret;

+ÂÂÂ if (PTE_FRAG_NR == 1)
+ÂÂÂÂÂÂÂ return NULL;
+
ÂÂÂÂÂ spin_lock(&mm->page_table_lock);
ÂÂÂÂÂ ret = mm->context.pte_frag;
ÂÂÂÂÂ if (ret) {


May be update get_pmd_from_cache too?


Ok, done in v5

Christophe