Here is what's new for v3: * Removed __maybe_unused from try_grab_compound_head * Removed some unnecessary comparisons against NULL. * Added Christoph's Reviewed-by tags to patches 2 and 3 Changes in v2: * Changed refs to @refs, and added some more documentation as well. * Completely removed try_get_page(). (I'm adding more people and lists to Cc, because of those call site changes.) * Reversed the logic in try_grab_page() to make it a touch more readable. * Rebased to linux-next (next-20210810). Original v2 is here: https://lore.kernel.org/r/20210811070542.3403116-1-jhubbard@xxxxxxxxxx Here is the v1 cover letter, edited slightly to keep up with the latest story. While reviewing some of the other things going on around gup.c, I noticed that the documentation was wrong for a few of the routines that I wrote. And then I noticed that there was some significant code duplication too. So this fixes those issues. This is not entirely risk-free, but after looking closely at this, I think it's actually a useful improvement, getting rid of the code duplication here. However, it is possible I've overlooked something. I did some local LTP and other testing on an x86 test machine but failed to find any problems yet. Original v1 is here: https://lore.kernel.org/r/20210808235018.1924918-1-jhubbard@xxxxxxxxxx John Hubbard (3): mm/gup: documentation corrections for gup/pup mm/gup: small refactoring: simplify try_grab_page() mm/gup: Remove try_get_page(), call try_get_compound_head() directly arch/s390/mm/fault.c | 2 +- fs/pipe.c | 2 +- include/linux/mm.h | 14 ++------ mm/gup.c | 83 ++++++++++++++++++++++---------------------- 4 files changed, 47 insertions(+), 54 deletions(-) -- 2.32.0