mm: document get_user_pages_fast()
While better than get_user_pages(), the usage of gupf(), especially the return values and the fact that it can potentially only partially pin the range, warranted some documentation. Signed-off-by: Andy Grover <andy.grover@oracle.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d20d5a7456
commit
9de100d001
1 changed files with 16 additions and 0 deletions
16
mm/util.c
16
mm/util.c
|
@ -223,6 +223,22 @@ void arch_pick_mmap_layout(struct mm_struct *mm)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get_user_pages_fast() - pin user pages in memory
|
||||||
|
* @start: starting user address
|
||||||
|
* @nr_pages: number of pages from start to pin
|
||||||
|
* @write: whether pages will be written to
|
||||||
|
* @pages: array that receives pointers to the pages pinned.
|
||||||
|
* Should be at least nr_pages long.
|
||||||
|
*
|
||||||
|
* Attempt to pin user pages in memory without taking mm->mmap_sem.
|
||||||
|
* If not successful, it will fall back to taking the lock and
|
||||||
|
* calling get_user_pages().
|
||||||
|
*
|
||||||
|
* Returns number of pages pinned. This may be fewer than the number
|
||||||
|
* requested. If nr_pages is 0 or negative, returns 0. If no pages
|
||||||
|
* were pinned, returns -errno.
|
||||||
|
*/
|
||||||
int __attribute__((weak)) get_user_pages_fast(unsigned long start,
|
int __attribute__((weak)) get_user_pages_fast(unsigned long start,
|
||||||
int nr_pages, int write, struct page **pages)
|
int nr_pages, int write, struct page **pages)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue