From: Ryan Roberts <ryan.roberts@arm.com>
To: Zi Yan <ziy@nvidia.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Huang,
Ying" <ying.huang@intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
David Hildenbrand <david@redhat.com>,
"Yin, Fengwei" <fengwei.yin@intel.com>,
Yu Zhao <yuzhao@google.com>, Vlastimil Babka <vbabka@suse.cz>,
"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
Kemeng Shi <shikemeng@huaweicloud.com>,
Mel Gorman <mgorman@techsingularity.net>,
Rohan Puri <rohan.puri15@gmail.com>,
Mcgrof Chamberlain <mcgrof@kernel.org>,
Adam Manzanares <a.manzanares@samsung.com>,
"Vishal Moola (Oracle)" <vishal.moola@gmail.com>
Subject: Re: [PATCH v1 0/4] Enable >0 order folio memory compaction
Date: Wed, 3 Jan 2024 09:12:40 +0000 [thread overview]
Message-ID: <7acefbe0-9413-48fd-ad98-56fecc6f29da@arm.com> (raw)
In-Reply-To: <E22D7AC8-0891-4B4D-BB90-129B1CB77CB2@nvidia.com>
On 02/01/2024 20:50, Zi Yan wrote:
> 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.
Good news! I don't see the results for mmap-pread-seq-mt below - perhaps you
forgot to include it?
>
> 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
I'm still not sure I'm interpretting this correctly; is %change always relative
to 6.7.0-rc1-mm-everything-2023-11-15-00-17 or is it relative to the previous
commit?
If the former, then it looks like splitting the folios is actually faster than
migrating them whole?
>
> =========================================================================================
> 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
next prev parent reply other threads:[~2024-01-03 9:12 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-13 17:01 Zi Yan
2023-11-13 17:01 ` [PATCH v1 1/4] mm/compaction: enable compacting >0 order folios Zi Yan
2023-11-13 18:30 ` Matthew Wilcox
2023-11-13 19:22 ` Zi Yan
2023-11-20 9:18 ` Baolin Wang
2023-11-20 14:05 ` Zi Yan
2023-11-13 17:01 ` [PATCH v1 2/4] mm/compaction: add support for >0 order folio memory compaction Zi Yan
2024-01-09 15:18 ` Ryan Roberts
2024-01-09 15:25 ` Zi Yan
2023-11-13 17:01 ` [PATCH v1 3/4] mm/compaction: optimize >0 order folio compaction with free page split Zi Yan
2023-11-22 10:26 ` Ryan Roberts
2023-11-22 14:35 ` Zi Yan
2023-11-13 17:01 ` [PATCH v1 4/4] mm/compaction: optimize >0 order folio compaction by sorting source pages Zi Yan
2023-11-21 15:46 ` [PATCH v1 0/4] Enable >0 order folio memory compaction Ryan Roberts
2023-11-21 16:45 ` Zi Yan
2023-11-21 17:11 ` Ryan Roberts
2024-01-02 20:50 ` Zi Yan
2024-01-03 9:12 ` Ryan Roberts [this message]
2024-01-03 15:51 ` Zi Yan
2024-01-05 22:56 ` Zi Yan
2023-11-24 14:58 ` Ryan Roberts
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7acefbe0-9413-48fd-ad98-56fecc6f29da@arm.com \
--to=ryan.roberts@arm.com \
--cc=a.manzanares@samsung.com \
--cc=akpm@linux-foundation.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=david@redhat.com \
--cc=fengwei.yin@intel.com \
--cc=hannes@cmpxchg.org \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mcgrof@kernel.org \
--cc=mgorman@techsingularity.net \
--cc=rohan.puri15@gmail.com \
--cc=shikemeng@huaweicloud.com \
--cc=vbabka@suse.cz \
--cc=vishal.moola@gmail.com \
--cc=willy@infradead.org \
--cc=ying.huang@intel.com \
--cc=yuzhao@google.com \
--cc=ziy@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox