Re: [PATCH] mm/khugepaged: Add missed tracepoint for collapse_huge_page_swapin

From: Vlastimil Babka
Date: Wed May 10 2017 - 09:09:46 EST


On 05/07/2017 12:18 PM, SeongJae Park wrote:
> One return case of `__collapse_huge_page_swapin()` does not invoke
> tracepoint while every other return case does. This commit adds a
> tracepoint invocation for the case.
>
> Signed-off-by: SeongJae Park <sj38.park@xxxxxxxxx>

Right. But extra points by turning all of the "trace+return false"
instances into some kind of "goto out".

> ---
> mm/khugepaged.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/mm/khugepaged.c b/mm/khugepaged.c
> index ba40b7f673f4..9aad377c67a8 100644
> --- a/mm/khugepaged.c
> +++ b/mm/khugepaged.c
> @@ -909,8 +909,10 @@ static bool __collapse_huge_page_swapin(struct mm_struct *mm,
> return false;
> }
> /* check if the pmd is still valid */
> - if (mm_find_pmd(mm, address) != pmd)
> + if (mm_find_pmd(mm, address) != pmd) {
> + trace_mm_collapse_huge_page_swapin(mm, swapped_in, referenced, 0);
> return false;
> + }
> }
> if (ret & VM_FAULT_ERROR) {
> trace_mm_collapse_huge_page_swapin(mm, swapped_in, referenced, 0);
>