[PATCH V2 3/7] mm/gup: Change GUP fast to use flags rather than a write 'bool'
Jason Gunthorpe
jgg at ziepe.ca
Thu Feb 14 10:11:10 AEDT 2019
On Wed, Feb 13, 2019 at 03:04:51PM -0800, ira.weiny at intel.com wrote:
> From: Ira Weiny <ira.weiny at intel.com>
>
> To facilitate additional options to get_user_pages_fast() change the
> singular write parameter to be gup_flags.
So now we have:
long get_user_pages_unlocked(unsigned long start, unsigned long nr_pages,
struct page **pages, unsigned int gup_flags);
and
int get_user_pages_fast(unsigned long start, int nr_pages,
unsigned int gup_flags, struct page **pages)
Does this make any sense? At least the arguments should be in the same
order, I think.
Also this comment:
/*
* get_user_pages_unlocked() is suitable to replace the form:
*
* down_read(&mm->mmap_sem);
* get_user_pages(tsk, mm, ..., pages, NULL);
* up_read(&mm->mmap_sem);
*
* with:
*
* get_user_pages_unlocked(tsk, mm, ..., pages);
*
* It is functionally equivalent to get_user_pages_fast so
* get_user_pages_fast should be used instead if specific gup_flags
* (e.g. FOLL_FORCE) are not required.
*/
Needs some attention as the recommendation is now nonsense.
Honestly a proper explanation of why two functions exist would be
great at this point :)
Jason
More information about the Linuxppc-dev
mailing list