From: Oliver Sang <oliver.sang@intel.com>
To: Shakeel Butt <shakeel.butt@linux.dev>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>,
Linux Memory Management List <linux-mm@kvack.org>,
Andrew Morton <akpm@linux-foundation.org>,
Yosry Ahmed <yosryahmed@google.com>,
"T.J. Mercier" <tjmercier@google.com>,
"Roman Gushchin" <roman.gushchin@linux.dev>,
Johannes Weiner <hannes@cmpxchg.org>,
Michal Hocko <mhocko@kernel.org>,
Muchun Song <muchun.song@linux.dev>, <cgroups@vger.kernel.org>,
<ying.huang@intel.com>, <feng.tang@intel.com>,
<fengwei.yin@intel.com>, <oliver.sang@intel.com>
Subject: Re: [linux-next:master] [memcg] 70a64b7919: will-it-scale.per_process_ops -11.9% regression
Date: Thu, 30 May 2024 14:17:39 +0800 [thread overview]
Message-ID: <ZlgaA/g070SWWa2b@xsang-OptiPlex-9020> (raw)
In-Reply-To: <6gtp47pv4h27txb7lxvxjavrsamxvzamsclrsbpsl62i3nn2bp@yhamzxapsmsf>
hi, Shakeel,
On Mon, May 27, 2024 at 11:30:38PM -0700, Shakeel Butt wrote:
> On Fri, May 24, 2024 at 11:06:54AM GMT, Shakeel Butt wrote:
> > On Fri, May 24, 2024 at 03:45:54PM +0800, Oliver Sang wrote:
> [...]
> > I will re-run my experiments on linus tree and report back.
>
> I am not able to reproduce the regression with the fix I have proposed,
> at least on my 1 node 52 CPUs (Cooper Lake) and 2 node 80 CPUs (Skylake)
> machines. Let me give more details below:
>
> Setup instructions:
> -------------------
> mount -t tmpfs tmpfs /tmp
> mkdir -p /sys/fs/cgroup/A
> mkdir -p /sys/fs/cgroup/A/B
> mkdir -p /sys/fs/cgroup/A/B/C
> echo +memory > /sys/fs/cgroup/A/cgroup.subtree_control
> echo +memory > /sys/fs/cgroup/A/B/cgroup.subtree_control
> echo $$ > /sys/fs/cgroup/A/B/C/cgroup.procs
>
> The base case (commit a4c43b8a0980):
> ------------------------------------
> $ python3 ./runtest.py page_fault2 295 process 0 0 52
> tasks,processes,processes_idle,threads,threads_idle,linear
> 0,0,100,0,100,0
> 52,2796769,0.03,0,0.00,0
>
> $ python3 ./runtest.py page_fault2 295 process 0 0 80
> tasks,processes,processes_idle,threads,threads_idle,linear
> 0,0,100,0,100,0
> 80,6755010,0.04,0,0.00,0
>
>
> The regressing series (last commit a94032b35e5f)
> ------------------------------------------------
> $ python3 ./runtest.py page_fault2 295 process 0 0 52
> tasks,processes,processes_idle,threads,threads_idle,linear
> 0,0,100,0,100,0
> 52,2684859,0.03,0,0.00,0
>
> $ python3 ./runtest.py page_fault2 295 process 0 0 80
> tasks,processes,processes_idle,threads,threads_idle,linear
> 0,0,100,0,100,0
> 80,6010438,0.13,0,0.00,0
>
> The fix on top of regressing series:
> ------------------------------------
> $ python3 ./runtest.py page_fault2 295 process 0 0 52
> tasks,processes,processes_idle,threads,threads_idle,linear
> 0,0,100,0,100,0
> 52,3812133,0.02,0,0.00,0
>
> $ python3 ./runtest.py page_fault2 295 process 0 0 80
> tasks,processes,processes_idle,threads,threads_idle,linear
> 0,0,100,0,100,0
> 80,7979893,0.15,0,0.00,0
>
>
> As you can see, the fix is improving the performance over the base, at
> least for me. I can only speculate that either the difference of
> hardware is giving us different results (you have newer CPUs) or there
> is still disparity of experiment setup/environment between us.
>
> Are you disabling hyperthreading? Is the prefetching heuristics
> different on your systems?
we don't disable hyperthreading.
for prefetching, we don't change bios default setting. for the skl server
in our original report:
MLC Spatial Prefetcher - enabled
DCU Data Prefetcher - enabled
DCU Instruction Prefetcher - enabled
LLC Prefetch - disabled
but we don't uniform these setting for all our servers. such like for that
Ice Lake server mentioned in previous mail, the "LLC Prefetch" is default
to be enabled, so we keep it as enabled.
>
> Regarding test environment, can you check my setup instructions above
> and see if I am doing something wrong or different?
>
> At the moment, I am inclined towards asking Andrew to include my fix in
> following 6.10-rc* but keep this report open, so we continue to improve.
> Let me know if you have concerns.
yeah, different setup/environment could cause difference. anyway, when your
fix merged, we could capture it for some performance improvement. or if you
want us a manual check, you could let us know. Thanks!
>
> thanks,
> Shakeel
prev parent reply other threads:[~2024-05-30 6:18 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-17 5:56 kernel test robot
2024-05-17 23:38 ` Yosry Ahmed
2024-05-18 6:28 ` Shakeel Butt
2024-05-19 9:14 ` Oliver Sang
2024-05-19 17:20 ` Shakeel Butt
2024-05-20 2:43 ` Oliver Sang
2024-05-20 3:49 ` Shakeel Butt
2024-05-21 2:43 ` Oliver Sang
2024-05-22 4:18 ` Shakeel Butt
2024-05-23 7:48 ` Oliver Sang
2024-05-23 16:47 ` Shakeel Butt
2024-05-24 7:45 ` Oliver Sang
2024-05-24 18:06 ` Shakeel Butt
2024-05-28 6:30 ` Shakeel Butt
2024-05-30 6:17 ` Oliver Sang [this message]
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=ZlgaA/g070SWWa2b@xsang-OptiPlex-9020 \
--to=oliver.sang@intel.com \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=feng.tang@intel.com \
--cc=fengwei.yin@intel.com \
--cc=hannes@cmpxchg.org \
--cc=linux-mm@kvack.org \
--cc=lkp@intel.com \
--cc=mhocko@kernel.org \
--cc=muchun.song@linux.dev \
--cc=oe-lkp@lists.linux.dev \
--cc=roman.gushchin@linux.dev \
--cc=shakeel.butt@linux.dev \
--cc=tjmercier@google.com \
--cc=ying.huang@intel.com \
--cc=yosryahmed@google.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