Re: [PATCH 3/5] mm/gup_test.c: Convert verify_dma_pinned() to us folios

From: Lorenzo Stoakes
Date: Sat Jun 17 2023 - 15:29:42 EST


On Tue, 13 Jun 2023 at 21:18, Vishal Moola (Oracle)
<vishal.moola@xxxxxxxxx> wrote:
>
> verify_dma_pinned() checks that pages are dma-pinned. We can convert
> this to use folios.
>
> Signed-off-by: Vishal Moola (Oracle) <vishal.moola@xxxxxxxxx>
> ---
> mm/gup_test.c | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/mm/gup_test.c b/mm/gup_test.c
> index 8ae7307a1bb6..860b093b4b3e 100644
> --- a/mm/gup_test.c
> +++ b/mm/gup_test.c
> @@ -40,24 +40,25 @@ static void verify_dma_pinned(unsigned int cmd, struct page **pages,
> unsigned long nr_pages)
> {
> unsigned long i;
> - struct page *page;
> + struct folio *folio;
>
> switch (cmd) {
> case PIN_FAST_BENCHMARK:
> case PIN_BASIC_TEST:
> case PIN_LONGTERM_BENCHMARK:
> for (i = 0; i < nr_pages; i++) {
> - page = pages[i];
> - if (WARN(!page_maybe_dma_pinned(page),
> + folio = page_folio(pages[i]);
> +
> + if (WARN(!folio_maybe_dma_pinned(folio),
> "pages[%lu] is NOT dma-pinned\n", i)) {
>
> - dump_page(page, "gup_test failure");
> + dump_page(&folio->page, "gup_test failure");
> break;
> } else if (cmd == PIN_LONGTERM_BENCHMARK &&
> - WARN(!is_longterm_pinnable_page(page),
> + WARN(!folio_is_longterm_pinnable(folio),
> "pages[%lu] is NOT pinnable but pinned\n",
> i)) {
> - dump_page(page, "gup_test failure");
> + dump_page(&folio->page, "gup_test failure");
> break;
> }
> }
> --
> 2.40.1
>
>

(Hope you don't mind me taking a look, GUP is of interest to me :)

Reviewed-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx>