From: CGEL <cgel.zte@gmail.com>
To: Michal Hocko <mhocko@suse.com>
Cc: akpm@linux-foundation.org, hannes@cmpxchg.org,
willy@infradead.org, shy828301@gmail.com,
roman.gushchin@linux.dev, shakeelb@google.com,
linmiaohe@huawei.com, william.kucharski@oracle.com,
peterx@redhat.com, hughd@google.com, vbabka@suse.cz,
songmuchun@bytedance.com, surenb@google.com,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
cgroups@vger.kernel.org, Yang Yang <yang.yang29@zte.com.cn>
Subject: Re: [PATCH] mm/memcg: support control THP behaviour in cgroup
Date: Mon, 9 May 2022 11:26:43 +0000 [thread overview]
Message-ID: <6278fa75.1c69fb81.9c598.f794@mx.google.com> (raw)
In-Reply-To: <YnjmPAToTR0C5o8x@dhcp22.suse.cz>
On Mon, May 09, 2022 at 12:00:28PM +0200, Michal Hocko wrote:
> On Sat 07-05-22 02:05:25, CGEL wrote:
> [...]
> > If there are many containers to run on one host, and some of them have high
> > performance requirements, administrator could turn on thp for them:
> > # docker run -it --thp-enabled=always
> > Then all the processes in those containers will always use thp.
> > While other containers turn off thp by:
> > # docker run -it --thp-enabled=never
>
> I do not know. The THP config space is already too confusing and complex
> and this just adds on top. E.g. is the behavior of the knob
> hierarchical? What is the policy if parent memcg says madivise while
> child says always? How does the per-application configuration aligns
> with all that (e.g. memcg policy madivise but application says never via
> prctl while still uses some madvised - e.g. via library).
>
The cgroup THP behavior is align to host and totally independent just likes
/sys/fs/cgroup/memory.swappiness. That means if one cgroup config 'always'
for thp, it has no matter with host or other cgroup. This make it simple for
user to understand or control.
If memcg policy madivise but application says never, just like host, the result
is no THP for that application.
> > By doing this we could promote important containers's performance with less
> > footprint of thp.
>
> Do we really want to provide something like THP based QoS? To me it
> sounds like a bad idea and if the justification is "it might be useful"
> then I would say no. So you really need to come with a very good usecase
> to promote this further.
At least on some 5G(communication technology) machine, it's useful to provide
THP based QoS. Those 5G machine use micro-service software architecture, in
other words one service application runs in one container. Container becomes
the suitable management unit but not the whole host. And some performance
sensitive containers desiderate THP to provide low latency communication.
But if we use THP with 'always', it will consume more memory(on our machine
that is about 10% of total memory). And unnecessary huge pages will increase
memory pressure, add latency for minor pages faults, and add overhead when
splitting huge pages or coalescing normal sized pages into huge pages.
So container manager should welcome cgroup based THP QoS.
> --
> Michal Hocko
> SUSE Labs
next prev parent reply other threads:[~2022-05-09 11:26 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-05 3:38 [PATCH] mm/memcg: support control THP behaviour in cgroup cgel.zte
2022-05-05 12:49 ` kernel test robot
2022-05-05 13:31 ` kernel test robot
2022-05-05 16:09 ` kernel test robot
2022-05-06 13:41 ` Michal Hocko
2022-05-07 2:05 ` CGEL
2022-05-09 10:00 ` Michal Hocko
2022-05-09 11:26 ` CGEL [this message]
2022-05-09 11:48 ` Michal Hocko
2022-05-10 1:43 ` CGEL
2022-05-10 10:00 ` Michal Hocko
2022-05-10 11:52 ` CGEL
2022-05-10 13:36 ` Michal Hocko
2022-05-11 1:59 ` CGEL
2022-05-11 7:21 ` Michal Hocko
2022-05-11 9:47 ` CGEL
2022-05-18 5:58 ` CGEL
2022-05-10 19:34 ` Yang Shi
2022-05-11 2:19 ` CGEL
2022-05-11 2:47 ` Shakeel Butt
2022-05-11 3:11 ` Roman Gushchin
2022-05-11 3:31 ` CGEL
2022-05-18 8:14 ` Balbir Singh
2022-05-11 3:17 ` CGEL
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=6278fa75.1c69fb81.9c598.f794@mx.google.com \
--to=cgel.zte@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=hannes@cmpxchg.org \
--cc=hughd@google.com \
--cc=linmiaohe@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=peterx@redhat.com \
--cc=roman.gushchin@linux.dev \
--cc=shakeelb@google.com \
--cc=shy828301@gmail.com \
--cc=songmuchun@bytedance.com \
--cc=surenb@google.com \
--cc=vbabka@suse.cz \
--cc=william.kucharski@oracle.com \
--cc=willy@infradead.org \
--cc=yang.yang29@zte.com.cn \
/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;
as well as URLs for NNTP newsgroup(s).