On Mon, Nov 2, 2020 at 1:15 AM kernel test robot wrote: > > Greeting, > > FYI, we noticed a -95.6% regression of stress-ng.vm-splice.ops_per_sec due to commit: > > commit: a308c71bf1e6e19cc2e4ced31853ee0fc7cb439a ("mm/gup: Remove enfornced COW mechanism") > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master Note that this is just the reverse of the previous 2000% improvement reported by the test robot here: https://lore.kernel.org/lkml/20200611040453.GK12456@shao2-debian/ and the explanation seems to remain the same: https://lore.kernel.org/lkml/CAG48ez1v1b4X5LgFya6nvi33-TWwqna_dc5jGFVosqQhdn_Nkg@mail.gmail.com/ IOW, this is testing a special case (zero page lookup) that the "force COW" patches happened to turn into a regular case (COW creating a regular page from the zero page). The question is whether we should care about the zero page for gup_fast lookup. If we do care, then the proper fix is likely simply to allow the zero page in fast-gup, the same way we already do in slow-gup. ENTIRELY UNTESTED PATCH ATTACHED. Rong - mind testing this? I don't think the zero-page _should_ be something that real loads care about, but hey, maybe people do want to do things like splice zeroes very efficiently.. And note the "untested" part of the patch. It _looks_ fairly obvious, but maybe I'm missing something. Linus