• Linus Torvalds's avatar
    Revert "fs: do not prefault sys_write() user buffer pages" · 00a3d660
    Linus Torvalds authored
    This reverts commit 998ef75d.
    
    The commit itself does not appear to be buggy per se, but it is exposing
    a bug in ext4 (and Ted thinks ext3 too, but we solved that by getting
    rid of it).  It's too late in the release cycle to really worry about
    this, even if Dave Hansen has a patch that may actually fix the
    underlying ext4 problem.  We can (and should) revisit this for the next
    release.
    
    The problem is that moving the prefaulting later now exposes a special
    case with partially successful writes that isn't handled correctly.  And
    the prefaulting likely isn't normally even that much of a performance
    issue - it looks like at least one reason Dave saw this in his
    performance tests is that he also ran them on Skylake that now supports
    the new SMAP code, which makes the normally very cheap user space
    prefaulting noticeably more expensive.
    Bisected-and-acked-by: default avatarTed Ts'o <tytso@mit.edu>
    Analyzed-and-acked-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    00a3d660
filemap.c 70.7 KB