Home
last modified time | relevance | path

Searched refs:gup (Results 1 – 5 of 5) sorted by relevance

/Linux-v5.10/mm/
Dgup_benchmark.c68 struct gup_benchmark *gup) in __gup_benchmark_ioctl() argument
78 if (gup->size > ULONG_MAX) in __gup_benchmark_ioctl()
81 nr_pages = gup->size / PAGE_SIZE; in __gup_benchmark_ioctl()
92 nr = gup->nr_pages_per_call; in __gup_benchmark_ioctl()
94 for (addr = gup->addr; addr < gup->addr + gup->size; addr = next) { in __gup_benchmark_ioctl()
95 if (nr != gup->nr_pages_per_call) in __gup_benchmark_ioctl()
99 if (next > gup->addr + gup->size) { in __gup_benchmark_ioctl()
100 next = gup->addr + gup->size; in __gup_benchmark_ioctl()
105 gup->flags &= FOLL_WRITE; in __gup_benchmark_ioctl()
109 nr = get_user_pages_fast(addr, nr, gup->flags, in __gup_benchmark_ioctl()
[all …]
DMakefile55 debug.o gup.o $(mmu-y)
/Linux-v5.10/tools/testing/selftests/vm/
Dgup_benchmark.c40 struct gup_benchmark gup; in main() local
103 gup.nr_pages_per_call = nr_pages; in main()
105 gup.flags |= FOLL_WRITE; in main()
118 gup.addr = (unsigned long)p; in main()
125 for (; (unsigned long)p < gup.addr + size; p += PAGE_SIZE) in main()
129 gup.size = size; in main()
130 if (ioctl(fd, cmd, &gup)) { in main()
135 printf("Time: get:%lld put:%lld us", gup.get_delta_usec, in main()
136 gup.put_delta_usec); in main()
137 if (gup.size != size) in main()
[all …]
/Linux-v5.10/Documentation/core-api/
Dpin_user_pages.rst22 ("gup") family of functions. FOLL_PIN has significant interactions and
25 FOLL_PIN is internal to gup, meaning that it should not appear at the gup call
30 FOLL_LONGTERM, on the other hand, *is* allowed to be set at the gup call sites.
39 FOLL_PIN and FOLL_GET are mutually exclusive for a given gup call. However,
53 For these pin_user_pages*() functions, FOLL_PIN is OR'd in with whatever gup
195 The whole point of marking pages as "DMA-pinned" or "gup-pinned" is to be able
207 ...is a prerequisite to solving the long-running gup+DMA problem.
Dmm-api.rst14 .. kernel-doc:: mm/gup.c