From: Michal Hocko <mhocko@kernel.org>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Shakeel Butt" <shakeelb@google.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
linux-mm@kvack.org, "Johannes Weiner" <hannes@cmpxchg.org>,
"Vladimir Davydov" <vdavydov.dev@gmail.com>,
"Greg Thelen" <gthelen@google.com>,
"Radim Krčmář" <rkrcmar@redhat.com>,
"Peter Feiner" <pfeiner@google.com>,
stable@vger.kernel.org
Subject: Re: [PATCH v2] kvm, mm: account shadow page tables to kmemcg
Date: Fri, 29 Jun 2018 16:55:13 +0200 [thread overview]
Message-ID: <20180629145513.GG5963@dhcp22.suse.cz> (raw)
In-Reply-To: <efdb8e40-742e-d120-6589-96b4fdf83cb9@redhat.com>
On Fri 29-06-18 16:40:23, Paolo Bonzini wrote:
> On 29/06/2018 16:30, Michal Hocko wrote:
> > I am not familiar wtih kvm to judge but if we are going to account this
> > memory we will probably want to let oom_badness know how much memory
> > to account to a specific process. Is this something that we can do?
> > We will probably need a new MM_KERNEL rss_stat stat for that purpose.
> >
> > Just to make it clear. I am not opposing to this patch but considering
> > that shadow page tables might consume a lot of memory it would be good
> > to know who is responsible for it from the OOM perspective. Something to
> > solve on top of this.
>
> The amount of memory is generally proportional to the size of the
> virtual machine memory, which is reflected directly into RSS. Because
> KVM processes are usually huge, and will probably dwarf everything else
> in the system (except firefox and chromium of course :)), the general
> order of magnitude of the oom_badness should be okay.
I think we will need MM_KERNEL longterm anyway. As I've said this is not
a must for this patch to go. But it is better to have a fair comparision
and kill larger processes if at all possible. It seems this should be
the case here.
> > I would also love to see a note how this memory is bound to the owner
> > life time in the changelog. That would make the review much more easier.
>
> --verbose for people that aren't well versed in linux mm, please...
Well, if the memory accounted to the memcg hits the hard limit and there
is no way to reclaim anything to reduce the charged memory then we have
to kill something. Hopefully the memory hog. If that one dies it would
be great it releases its charges along the way. My remark was just to
explain how that would happen for this specific type of memory. Bound to
a file, has its own tear down etc. Basically make life of reviewers
easier to understand the lifetime of charged objects without digging
deep into the specific subsystem.
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2018-06-29 14:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-29 14:02 Shakeel Butt
2018-06-29 14:30 ` Michal Hocko
2018-06-29 14:40 ` Paolo Bonzini
2018-06-29 14:55 ` Michal Hocko [this message]
2018-06-29 15:43 ` Paolo Bonzini
2018-06-29 16:47 ` Shakeel Butt
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=20180629145513.GG5963@dhcp22.suse.cz \
--to=mhocko@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=gthelen@google.com \
--cc=hannes@cmpxchg.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=pbonzini@redhat.com \
--cc=pfeiner@google.com \
--cc=rkrcmar@redhat.com \
--cc=shakeelb@google.com \
--cc=stable@vger.kernel.org \
--cc=vdavydov.dev@gmail.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