On 11/5/2020 2:29 AM, Linus Torvalds wrote:
On Mon, Nov 2, 2020 at 1:15 AM kernel test robot <rong.a.c...@intel.com> 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_...@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..

I test the patch, the regression still existed.

=========================================================================================
tbox_group/testcase/rootfs/kconfig/compiler/nr_threads/disk/testtime/class/cpufreq_governor/ucode:

lkp-csl-2sp5/stress-ng/debian-10.4-x86_64-20200603.cgz/x86_64-rhel-8.3/gcc-9/100%/1HDD/30s/pipe/performance/0x5002f01

commit:
  1a0cf26323c80e2f1c58fc04f15686de61bfab0c
  a308c71bf1e6e19cc2e4ced31853ee0fc7cb439a
  da5ba9980aa2211c1e2a89fc814abab2fea6f69d (debug patch)

1a0cf26323c80e2f a308c71bf1e6e19cc2e4ced3185 da5ba9980aa2211c1e2a89fc814
---------------- --------------------------- ---------------------------
         %stddev     %change         %stddev     %change         %stddev
             \          |                \          |                \
3.406e+09 -95.6% 1.49e+08 -96.4% 1.213e+08 stress-ng.vm-splice.ops 1.135e+08 -95.6% 4965911 -96.4% 4041777 stress-ng.vm-splice.ops_per_sec


And note the "untested" part of the patch. It _looks_ fairly obvious,
but maybe I'm missing something.

             Linus


_______________________________________________
LKP mailing list -- l...@lists.01.org
To unsubscribe send an email to lkp-le...@lists.01.org


--
Zhengjun Xing

Reply via email to