All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Kirill A. Shutemov" <kirill@shutemov.name>
To: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: akpm@linux-foundation.org, benh@au1.ibm.com,
	michaele@au1.ibm.com, michael.neuling@au1.ibm.com,
	paulus@au1.ibm.com, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH V3 2/2] mm: THP page cache support for ppc64
Date: Mon, 14 Nov 2016 05:11:46 +0300	[thread overview]
Message-ID: <20161114021145.GA5180@node.shutemov.name> (raw)
In-Reply-To: <20161113150025.17942-2-aneesh.kumar@linux.vnet.ibm.com>

On Sun, Nov 13, 2016 at 08:30:25PM +0530, Aneesh Kumar K.V wrote:
> Add arch specific callback in the generic THP page cache code that will
> deposit and withdarw preallocated page table. Archs like ppc64 use
> this preallocated table to store the hash pte slot information.
> 
> Testing:
> kernel build of the patch series on tmpfs mounted with option huge=always
> 
> The related thp stat:
> thp_fault_alloc 72939
> thp_fault_fallback 60547
> thp_collapse_alloc 603
> thp_collapse_alloc_failed 0
> thp_file_alloc 253763
> thp_file_mapped 4251
> thp_split_page 51518
> thp_split_page_failed 1
> thp_deferred_split_page 73566
> thp_split_pmd 665
> thp_zero_page_alloc 3
> thp_zero_page_alloc_failed 0
> 
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>

One nit-pick below, but otherwise

Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>

> @@ -2975,6 +3004,13 @@ static int do_set_pmd(struct fault_env *fe, struct page *page)
>  	ret = 0;
>  	count_vm_event(THP_FILE_MAPPED);
>  out:
> +	/*
> +	 * If we are going to fallback to pte mapping, do a
> +	 * withdraw with pmd lock held.
> +	 */
> +	if (arch_needs_pgtable_deposit() && (ret == VM_FAULT_FALLBACK))

Parenthesis are redundant around ret check.

> +		fe->prealloc_pte = pgtable_trans_huge_withdraw(vma->vm_mm,
> +							       fe->pmd);
>  	spin_unlock(fe->ptl);
>  	return ret;
>  }

-- 
 Kirill A. Shutemov

WARNING: multiple messages have this Message-ID (diff)
From: "Kirill A. Shutemov" <kirill@shutemov.name>
To: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: akpm@linux-foundation.org, benh@au1.ibm.com,
	michaele@au1.ibm.com, michael.neuling@au1.ibm.com,
	paulus@au1.ibm.com, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH V3 2/2] mm: THP page cache support for ppc64
Date: Mon, 14 Nov 2016 05:11:46 +0300	[thread overview]
Message-ID: <20161114021145.GA5180@node.shutemov.name> (raw)
In-Reply-To: <20161113150025.17942-2-aneesh.kumar@linux.vnet.ibm.com>

On Sun, Nov 13, 2016 at 08:30:25PM +0530, Aneesh Kumar K.V wrote:
> Add arch specific callback in the generic THP page cache code that will
> deposit and withdarw preallocated page table. Archs like ppc64 use
> this preallocated table to store the hash pte slot information.
> 
> Testing:
> kernel build of the patch series on tmpfs mounted with option huge=always
> 
> The related thp stat:
> thp_fault_alloc 72939
> thp_fault_fallback 60547
> thp_collapse_alloc 603
> thp_collapse_alloc_failed 0
> thp_file_alloc 253763
> thp_file_mapped 4251
> thp_split_page 51518
> thp_split_page_failed 1
> thp_deferred_split_page 73566
> thp_split_pmd 665
> thp_zero_page_alloc 3
> thp_zero_page_alloc_failed 0
> 
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>

One nit-pick below, but otherwise

Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>

> @@ -2975,6 +3004,13 @@ static int do_set_pmd(struct fault_env *fe, struct page *page)
>  	ret = 0;
>  	count_vm_event(THP_FILE_MAPPED);
>  out:
> +	/*
> +	 * If we are going to fallback to pte mapping, do a
> +	 * withdraw with pmd lock held.
> +	 */
> +	if (arch_needs_pgtable_deposit() && (ret == VM_FAULT_FALLBACK))

Parenthesis are redundant around ret check.

> +		fe->prealloc_pte = pgtable_trans_huge_withdraw(vma->vm_mm,
> +							       fe->pmd);
>  	spin_unlock(fe->ptl);
>  	return ret;
>  }

-- 
 Kirill A. Shutemov

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2016-11-14  2:11 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-13 15:00 [PATCH V3 1/2] mm: move vma_is_anonymous check within pmd_move_must_withdraw Aneesh Kumar K.V
2016-11-13 15:00 ` Aneesh Kumar K.V
2016-11-13 15:00 ` [PATCH V3 2/2] mm: THP page cache support for ppc64 Aneesh Kumar K.V
2016-11-13 15:00   ` Aneesh Kumar K.V
2016-11-14  2:11   ` Kirill A. Shutemov [this message]
2016-11-14  2:11     ` Kirill A. Shutemov
2016-11-14  6:07 ` [PATCH V3 1/2] mm: move vma_is_anonymous check within pmd_move_must_withdraw Balbir Singh
2016-11-14  6:07   ` Balbir Singh
2016-11-14  8:57 ` mpe
2016-11-14  8:57   ` mpe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161114021145.GA5180@node.shutemov.name \
    --to=kirill@shutemov.name \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=benh@au1.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=michael.neuling@au1.ibm.com \
    --cc=michaele@au1.ibm.com \
    --cc=paulus@au1.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.