Revert "x86/mm/gup: Switch GUP to the generic get_user_page_fast() implementation"
This reverts commit 2947ba05. Dan Williams reported dax-pmem kernel warnings with the following signature: WARNING: CPU: 8 PID: 245 at lib/percpu-refcount.c:155 percpu_ref_switch_to_atomic_rcu+0x1f5/0x200 percpu ref (dax_pmem_percpu_release [dax_pmem]) <= 0 (0) after switching to atomic ... and bisected it to this commit, which suggests possible memory corruption caused by the x86 fast-GUP conversion. He also pointed out: " This is similar to the backtrace when we were not properly handling pud faults and was fixed with this commit: 220ced16 "mm: fix get_user_pages() vs device-dax pud mappings" I've found some missing _devmap checks in the generic get_user_pages_fast() path, but this does not fix the regression [...] " So given that there are known bugs, and a pretty robust looking bisection points to this commit suggesting that are unknown bugs in the conversion as well, revert it for the time being - we'll re-try in v4.13. Reported-by: Dan Williams <firstname.lastname@example.org> Cc: Andrew Morton <email@example.com> Cc: Borislav Petkov <firstname.lastname@example.org> Cc: Catalin Marinas <email@example.com> Cc: Kirill A. Shutemov <firstname.lastname@example.org> Cc: Linus Torvalds <email@example.com> Cc: Michal Hocko <firstname.lastname@example.org> Cc: Peter Zijlstra <email@example.com> Cc: Rik van Riel <firstname.lastname@example.org> Cc: Thomas Gleixner <email@example.com> Cc: firstname.lastname@example.org Cc: email@example.com Cc: firstname.lastname@example.org Cc: email@example.com Cc: firstname.lastname@example.org Signed-off-by: Ingo Molnar <email@example.com>
Showing with 519 additions and 128 deletions