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.p...@gmail.com>

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);
> 

Reply via email to