Re: [PATCH v1 0/4] Enable >0 order folio memory compaction

From: Zi Yan
Date: Tue Jan 02 2024 - 15:50:28 EST


On 21 Nov 2023, at 12:11, Ryan Roberts wrote:

> On 21/11/2023 16:45, Zi Yan wrote:
>> On 21 Nov 2023, at 10:46, Ryan Roberts wrote:
>>
>>>>
>>>> vm-scalability results
>>>> ===
>>>>
>>>> =========================================================================================
>>>> compiler/kconfig/rootfs/runtime/tbox_group/test/testcase:
>>>> gcc-13/defconfig/debian/300s/qemu-vm/mmap-xread-seq-mt/vm-scalability
>>>>
>>>> commit:
>>>> 6.6.0-rc4-mm-everything-2023-10-21-02-40+
>>>> 6.6.0-rc4-split-folio-in-compaction+
>>>> 6.6.0-rc4-folio-migration-in-compaction+
>>>> 6.6.0-rc4-folio-migration-free-page-split+
>>>> 6.6.0-rc4-folio-migration-free-page-split-sort-src+
>>>>
>>>> 6.6.0-rc4-mm-eve 6.6.0-rc4-split-folio-in-co 6.6.0-rc4-folio-migration-i 6.6.0-rc4-folio-migration-f 6.6.0-rc4-folio-migration-f
>>>> ---------------- --------------------------- --------------------------- --------------------------- ---------------------------
>>>> %stddev %change %stddev %change %stddev %change %stddev %change %stddev
>>>> \ | \ | \ | \ | \
>>>> 12896955 +2.7% 13249322 -4.0% 12385175 ± 5% +1.1% 13033951 -0.4% 12845698 vm-scalability.throughput
>>>
>>> Hi Zi,
>>>
>>> Are you able to add any commentary to these results as I'm struggling to
>>> interpret them; Is a positive or negative change better (are they times or
>>> rates?). What are the stddev values? The title suggests percent but the values
>>> are huge - I'm trying to understand what the error bars look like - are the
>>> swings real or noise?
>>
>> The metric is vm-scalability.throughput, so the larger the better. Some %stddev
>> are not present since they are too small. For 6.6.0-rc4-folio-migration-in-compaction+,
>> %stddev is greater than %change, so the change might be noise.
>
> Ahh got it - thanks!
>
>>
>> Also, I talked to DavidH in last THP Cabal meeting about this. He suggested that
>> there are a lot of noise in vm-scalability like what I have here and I should
>> run more iterations and on bare metal. I am currently rerun them on a baremetal
>> and more iterations on the existing VM and report the results later. Please
>> note that the runs really take some time.
>
> Ahh ok, I'll wait for the bare metal numbers and will disregard these for now.
> Thanks!

It seems that the unexpected big mmap-pread-seq-mt perf drop came from the mistake I
made in patch 1. After fixing that, mmap-pread-seq-mt perf only drops 0.5%. The new
results on top of 6.7.0-rc1-mm-everything-2023-11-15-00-17 are at the end of the email.

I am preparing v2 and will send it out soon.

=========================================================================================
compiler/kconfig/rootfs/runtime/tbox_group/test/testcase:
gcc-13/defconfig/debian/300s/qemu-vm/mmap-xread-seq-mt/vm-scalability

commit:
6.7.0-rc1-mm-everything-2023-11-15-00-17+
6.7.0-rc1-split-folio-in-compaction+
6.7.0-rc1-folio-migration-in-compaction+
6.7.0-rc1-folio-migration-free-page-split+
6.7.0-rc1-folio-migration-free-page-split-sort-src+

6.7.0-rc1-mm-eve 6.7.0-rc1-split-folio-in-co 6.7.0-rc1-folio-migration-i 6.7.0-rc1-folio-migration-f 6.7.0-rc1-folio-migration-f
---------------- --------------------------- --------------------------- --------------------------- ---------------------------
%stddev %change %stddev %change %stddev %change %stddev %change %stddev
\ | \ | \ | \ | \
13041962 +16.1% 15142976 +5.0% 13690666 ± 6% +6.7% 13920441 +5.5% 13762582 vm-scalability.throughput

=========================================================================================
compiler/kconfig/rootfs/runtime/tbox_group/test/testcase:
gcc-13/defconfig/debian/300s/qemu-vm/mmap-pread-seq/vm-scalability

commit:
6.7.0-rc1-mm-everything-2023-11-15-00-17+
6.7.0-rc1-split-folio-in-compaction+
6.7.0-rc1-folio-migration-in-compaction+
6.7.0-rc1-folio-migration-free-page-split+
6.7.0-rc1-folio-migration-free-page-split-sort-src+

6.7.0-rc1-mm-eve 6.7.0-rc1-split-folio-in-co 6.7.0-rc1-folio-migration-i 6.7.0-rc1-folio-migration-f 6.7.0-rc1-folio-migration-f
---------------- --------------------------- --------------------------- --------------------------- ---------------------------
%stddev %change %stddev %change %stddev %change %stddev %change %stddev
\ | \ | \ | \ | \
14998168 -1.0% 14852803 -0.7% 14890569 -0.3% 14946766 -0.4% 14943302 vm-scalability.throughput

=========================================================================================
compiler/kconfig/rootfs/runtime/tbox_group/test/testcase:
gcc-13/defconfig/debian/300s/qemu-vm/lru-file-readtwice/vm-scalability

commit:
6.7.0-rc1-mm-everything-2023-11-15-00-17+
6.7.0-rc1-split-folio-in-compaction+
6.7.0-rc1-folio-migration-in-compaction+
6.7.0-rc1-folio-migration-free-page-split+
6.7.0-rc1-folio-migration-free-page-split-sort-src+

6.7.0-rc1-mm-eve 6.7.0-rc1-split-folio-in-co 6.7.0-rc1-folio-migration-i 6.7.0-rc1-folio-migration-f 6.7.0-rc1-folio-migration-f
---------------- --------------------------- --------------------------- --------------------------- ---------------------------
%stddev %change %stddev %change %stddev %change %stddev %change %stddev
\ | \ | \ | \ | \
6750930 ± 7% +41.5% 9549570 ± 2% +31.6% 8883545 ± 2% +33.1% 8982606 ± 2% +30.7% 8821667 ± 3% vm-scalability.throughput

=========================================================================================
compiler/kconfig/rootfs/runtime/tbox_group/test/testcase:
gcc-13/defconfig/debian/300s/qemu-vm/lru-file-mmap-read/vm-scalability

commit:
6.7.0-rc1-mm-everything-2023-11-15-00-17+
6.7.0-rc1-split-folio-in-compaction+
6.7.0-rc1-folio-migration-in-compaction+
6.7.0-rc1-folio-migration-free-page-split+
6.7.0-rc1-folio-migration-free-page-split-sort-src+

6.7.0-rc1-mm-eve 6.7.0-rc1-split-folio-in-co 6.7.0-rc1-folio-migration-i 6.7.0-rc1-folio-migration-f 6.7.0-rc1-folio-migration-f
---------------- --------------------------- --------------------------- --------------------------- ---------------------------
%stddev %change %stddev %change %stddev %change %stddev %change %stddev
\ | \ | \ | \ | \
5818610 ± 14% +43.1% 8329118 ± 2% +26.0% 7331427 ± 4% +23.2% 7170418 ± 4% +22.8% 7147458 ± 4% vm-scalability.throughput

=========================================================================================
compiler/kconfig/rootfs/runtime/tbox_group/test/testcase:
gcc-13/defconfig/debian/300s/qemu-vm/anon-r-rand/vm-scalability

commit:
6.7.0-rc1-mm-everything-2023-11-15-00-17+
6.7.0-rc1-split-folio-in-compaction+
6.7.0-rc1-folio-migration-in-compaction+
6.7.0-rc1-folio-migration-free-page-split+
6.7.0-rc1-folio-migration-free-page-split-sort-src+

6.7.0-rc1-mm-eve 6.7.0-rc1-split-folio-in-co 6.7.0-rc1-folio-migration-i 6.7.0-rc1-folio-migration-f 6.7.0-rc1-folio-migration-f
---------------- --------------------------- --------------------------- --------------------------- ---------------------------
%stddev %change %stddev %change %stddev %change %stddev %change %stddev
\ | \ | \ | \ | \
1973808 -0.2% 1969617 -0.5% 1964376 +0.3% 1979245 +1.0% 1993677 vm-scalability.throughput

=========================================================================================
compiler/kconfig/rootfs/runtime/size/tbox_group/test/testcase:
gcc-13/defconfig/debian/300s/512G/qemu-vm/anon-w-rand/vm-scalability

commit:
6.7.0-rc1-mm-everything-2023-11-15-00-17+
6.7.0-rc1-split-folio-in-compaction+
6.7.0-rc1-folio-migration-in-compaction+
6.7.0-rc1-folio-migration-free-page-split+
6.7.0-rc1-folio-migration-free-page-split-sort-src+

6.7.0-rc1-mm-eve 6.7.0-rc1-split-folio-in-co 6.7.0-rc1-folio-migration-i 6.7.0-rc1-folio-migration-f 6.7.0-rc1-folio-migration-f
---------------- --------------------------- --------------------------- --------------------------- ---------------------------
%stddev %change %stddev %change %stddev %change %stddev %change %stddev
\ | \ | \ | \ | \
479486 +0.3% 481036 +0.0% 479580 +2.3% 490310 +1.6% 487107 vm-scalability.throughput

=========================================================================================
compiler/kconfig/rootfs/runtime/size/tbox_group/test/testcase:
gcc-13/defconfig/debian/300s/512G/qemu-vm/anon-cow-rand/vm-scalability

commit:
6.7.0-rc1-mm-everything-2023-11-15-00-17+
6.7.0-rc1-split-folio-in-compaction+
6.7.0-rc1-folio-migration-in-compaction+
6.7.0-rc1-folio-migration-free-page-split+
6.7.0-rc1-folio-migration-free-page-split-sort-src+

6.7.0-rc1-mm-eve 6.7.0-rc1-split-folio-in-co 6.7.0-rc1-folio-migration-i 6.7.0-rc1-folio-migration-f 6.7.0-rc1-folio-migration-f
---------------- --------------------------- --------------------------- --------------------------- ---------------------------
%stddev %change %stddev %change %stddev %change %stddev %change %stddev
\ | \ | \ | \ | \
453237 +1.2% 458580 +0.5% 455455 +2.6% 464830 +2.6% 465211 vm-scalability.throughput

=========================================================================================
compiler/kconfig/rootfs/runtime/size/tbox_group/test/testcase:
gcc-13/defconfig/debian/300s/256G/qemu-vm/msync/vm-scalability

commit:
6.7.0-rc1-mm-everything-2023-11-15-00-17+
6.7.0-rc1-split-folio-in-compaction+
6.7.0-rc1-folio-migration-in-compaction+
6.7.0-rc1-folio-migration-free-page-split+
6.7.0-rc1-folio-migration-free-page-split-sort-src+

6.7.0-rc1-mm-eve 6.7.0-rc1-split-folio-in-co 6.7.0-rc1-folio-migration-i 6.7.0-rc1-folio-migration-f 6.7.0-rc1-folio-migration-f
---------------- --------------------------- --------------------------- --------------------------- ---------------------------
%stddev %change %stddev %change %stddev %change %stddev %change %stddev
\ | \ | \ | \ | \
1074404 ± 5% +78.7% 1920268 +78.7% 1920270 +77.2% 1903612 +78.0% 1912223 vm-scalability.throughput

=========================================================================================
compiler/kconfig/rootfs/runtime/size/tbox_group/test/testcase:
gcc-13/defconfig/debian/300s/256G/qemu-vm/msync-mt/vm-scalability

commit:
6.7.0-rc1-mm-everything-2023-11-15-00-17+
6.7.0-rc1-split-folio-in-compaction+
6.7.0-rc1-folio-migration-in-compaction+
6.7.0-rc1-folio-migration-free-page-split+
6.7.0-rc1-folio-migration-free-page-split-sort-src+

6.7.0-rc1-mm-eve 6.7.0-rc1-split-folio-in-co 6.7.0-rc1-folio-migration-i 6.7.0-rc1-folio-migration-f 6.7.0-rc1-folio-migration-f
---------------- --------------------------- --------------------------- --------------------------- ---------------------------
%stddev %change %stddev %change %stddev %change %stddev %change %stddev
\ | \ | \ | \ | \
2568988 +5.3% 2706227 +5.3% 2706214 +6.3% 2729716 +5.3% 2704539 vm-scalability.throughput


--
Best Regards,
Yan, Zi

Attachment: signature.asc
Description: OpenPGP digital signature