Commit c9223a4a authored by Vishal Moola (Oracle)'s avatar Vishal Moola (Oracle) Committed by Andrew Morton
Browse files

mm/gup_test.c: convert verify_dma_pinned() to us folios

verify_dma_pinned() checks that pages are dma-pinned.  We can convert this
to use folios.

Link: https://lkml.kernel.org/r/20230614021312.34085-4-vishal.moola@gmail.com


Signed-off-by: default avatarVishal Moola (Oracle) <vishal.moola@gmail.com>
Reviewed-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: default avatarLorenzo Stoakes <lstoakes@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 28fb54f6
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -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;
			}
		}