Re: [PATCH v4 10/12] mm/gup: /proc/vmstat: pin_user_pages (FOLL_PIN) reporting

From: Kirill A. Shutemov
Date: Wed Feb 05 2020 - 06:43:16 EST


On Tue, Feb 04, 2020 at 03:41:15PM -0800, John Hubbard wrote:
> Now that pages are "DMA-pinned" via pin_user_page*(), and unpinned via
> unpin_user_pages*(), we need some visibility into whether all of this is
> working correctly.
>
> Add two new fields to /proc/vmstat:
>
> nr_foll_pin_acquired
> nr_foll_pin_released
>
> These are documented in Documentation/core-api/pin_user_pages.rst.
> They represent the number of pages (since boot time) that have been
> pinned ("nr_foll_pin_acquired") and unpinned ("nr_foll_pin_released"),
> via pin_user_pages*() and unpin_user_pages*().
>
> In the absence of long-running DMA or RDMA operations that hold pages
> pinned, the above two fields will normally be equal to each other.
>
> Also: update Documentation/core-api/pin_user_pages.rst, to remove an
> earlier (now confirmed untrue) claim about a performance problem with
> /proc/vmstat.
>
> Also: updated Documentation/core-api/pin_user_pages.rst to rename the
> new /proc/vmstat entries, to the names listed here.
>
> Signed-off-by: John Hubbard <jhubbard@xxxxxxxxxx>

Please, clarify semantics for huge page. An user may want to know if we
count huge page as one pin-acquired or by number of pages.

Otherwise looks good (given Jan concern is addressed).

--
Kirill A. Shutemov