mm/gup: Remove enfornced COW mechanism
authorPeter Xu <peterx@redhat.com>
Fri, 21 Aug 2020 23:49:57 +0000 (19:49 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 4 Sep 2020 16:25:20 +0000 (09:25 -0700)
commita308c71bf1e6e19cc2e4ced31853ee0fc7cb439a
treef419a838cdc2f2616adfed4994465738a4167cac
parent1a0cf26323c80e2f1c58fc04f15686de61bfab0c
mm/gup: Remove enfornced COW mechanism

With the more strict (but greatly simplified) page reuse logic in
do_wp_page(), we can safely go back to the world where cow is not
enforced with writes.

This essentially reverts commit 17839856fd58 ("gup: document and work
around 'COW can break either way' issue").  There are some context
differences due to some changes later on around it:

  2170ecfa7688 ("drm/i915: convert get_user_pages() --> pin_user_pages()", 2020-06-03)
  376a34efa4ee ("mm/gup: refactor and de-duplicate gup_fast() code", 2020-06-03)

Some lines moved back and forth with those, but this revert patch should
have striped out and covered all the enforced cow bits anyways.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/gpu/drm/i915/gem/i915_gem_userptr.c
mm/gup.c
mm/huge_memory.c