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

From: Aneesh Kumar K.V
Date: Tue Sep 18 2018 - 23:35:29 EST


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?

-aneesh