Re: [PATCH -mmotm-2010-01-06-14-34] Fix fault count of task in GUP

From: Hugh Dickins
Date: Mon Jan 11 2010 - 18:29:53 EST


On Mon, 11 Jan 2010, Minchan Kim wrote:
>
> get_user_pages calls handle_mm_fault to pin the arguemented
> task's page. handle_mm_fault cause major or minor fault and
> get_user_pages counts it into task which is passed by argument.
>
> But the fault happens in current task's context.
> So we have to count it not argumented task's context but current
> task's one.

Have to?

current simulates a fault into tsk's address space.
It is not a fault into current's address space.

I can see that this could be argued either way, or even
that such a "fault" should not be counted at all; but I do not
see a reason to change the way we have been counting it for years.

Sorry, but NAK (to this and to the v2) -
unless you have a stronger argument.

Hugh

>
> Signed-off-by: Minchan Kim <minchan.kim@xxxxxxxxx>
> CC: Nick Piggin <npiggin@xxxxxxx>
> CC: Hugh Dickins <hugh.dickins@xxxxxxxxxxxxx>
> ---
> mm/memory.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/memory.c b/mm/memory.c
> index 521abf6..2513581 100644
> --- a/mm/memory.c
> +++ b/mm/memory.c
> @@ -1486,9 +1486,9 @@ int __get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
> BUG();
> }
> if (ret & VM_FAULT_MAJOR)
> - tsk->maj_flt++;
> + current->maj_flt++;
> else
> - tsk->min_flt++;
> + current->min_flt++;
>
> /*
> * The VM_FAULT_WRITE bit tells us that
> --
> 1.5.6.3
>
>
> --
> Kind regards,
> Minchan Kim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/