On 1/24/23 12:34, Jason Gunthorpe wrote:
These days FOLL_LONGTERM is not allowed at all on any get_user_pages*() functions, it must be only be used with pin_user_pages*(), plus it now has universal support for all the pin_user_pages*() functions. Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx> --- include/linux/mm_types.h | 6 ------ 1 file changed, 6 deletions(-)
Yes! Progress has happened. Reviewed-by: John Hubbard <jhubbard@xxxxxxxxxx> thanks, -- John Hubbard NVIDIA
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index a689198caf7408..8971a40c120e38 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -1052,12 +1052,6 @@ typedef unsigned int __bitwise zap_flags_t; * specifically failed. Filesystem pages are still subject to bugs and use of * FOLL_LONGTERM should be avoided on those pages. * - * FIXME: Also NOTE that FOLL_LONGTERM is not supported in every GUP call. - * Currently only get_user_pages() and get_user_pages_fast() support this flag - * and calls to get_user_pages_[un]locked are specifically not allowed. This - * is due to an incompatibility with the FS DAX check and - * FAULT_FLAG_ALLOW_RETRY. - * * In the CMA case: long term pins in a CMA region would unnecessarily fragment * that region. And so, CMA attempts to migrate the page before pinning, when * FOLL_LONGTERM is specified.