From: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Glauber Costa <glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
Cc: Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org,
devel-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org,
linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
Suleiman Souhlal
<suleiman-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Frederic Weisbecker
<fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Mel Gorman <mgorman-l3A5Bk7waGM@public.gmane.org>,
David Rientjes <rientjes-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
Subject: Re: [PATCH v3 04/13] kmem accounting basic infrastructure
Date: Wed, 26 Sep 2012 16:08:07 -0700 [thread overview]
Message-ID: <20120926230807.GC10453@mtj.dyndns.org> (raw)
In-Reply-To: <50638793.7060806-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
Hello, Glauber.
On Thu, Sep 27, 2012 at 02:54:11AM +0400, Glauber Costa wrote:
> I don't. Much has been said in the past about the problem of sharing. A
> lot of the kernel objects are shared by nature, this is pretty much
> unavoidable. The answer we have been giving to this inquiry, is that the
> workloads (us) interested in kmem accounted tend to be quite local in
> their file accesses (and other kernel objects as well).
>
> It should be obvious that not all workloads are like this, and some of
> them would actually prefer to have their umem limited only.
>
> There is nothing unreasonable in tracking user memory only.
>
> If we have a global switch for "tracking all kernel memory", who would
> you account the objects that are heavily shared to? I solve this by not
> tracking kernel memory for cgroups in such workloads. What do you propose?
One of the things wrong with that is that it exposes the limitation of
the current implementation as interface to userland, which is never a
good idea. In addition, how is userland supposed to know which
workload is shared kmem heavy or not? Details like that are not even
inherent to workloads. It's highly dependent on kernel implementation
which may change any day. If we hit workloads like that the right
thing to do is improving kmemcg so that such problems don't occur, not
exposing another switch.
If we can't make that work in reasonable (doesn't have to be perfect)
way, we might as well just give up on kmem controller. If userland
has to second-guess kernel implementation details to make use of it,
it's useless.
> > Well, that's really playing with words. Limit is per cgroup and
> > before the limit is set for the first time, everything is accounted to
> > something else. How is that keeping track?
> >
>
> Even after the limit is set, it is set only by workloads that want kmem
> to be tracked. If you want to track it during the whole lifetime of the
> cgroup, you switch it before you put tasks to it. What is so crazy about it?
The fact that the numbers don't really mean what they apparently
should mean.
> > The proposed behavior seems really crazy to me. Do people really
> > think this is a good idea?
>
> It is really sad that you lost the opportunity to say that in a room
> full of mm developers that could add to this discussion in real time,
> when after an explanation about this was given, Mel asked if anyone
> would have any objections to this.
Sure, conferences are useful for building consensus but that's the
extent of it. Sorry that I didn't realize the implications then but
conferences don't really add any finality to decisions.
So, this seems properly crazy to me at the similar level of
use_hierarchy fiasco. I'm gonna NACK on this.
Thanks.
--
tejun
next prev parent reply other threads:[~2012-09-26 23:08 UTC|newest]
Thread overview: 127+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-18 14:03 [PATCH v3 00/13] kmem controller for memcg Glauber Costa
[not found] ` <1347977050-29476-1-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-18 14:03 ` [PATCH v3 01/13] memcg: Make it possible to use the stock for more than one page Glauber Costa
2012-10-01 18:48 ` Johannes Weiner
2012-09-18 14:03 ` [PATCH v3 02/13] memcg: Reclaim when more than one page needed Glauber Costa
2012-10-01 19:00 ` Johannes Weiner
2012-09-18 14:04 ` [PATCH v3 03/13] memcg: change defines to an enum Glauber Costa
[not found] ` <1347977050-29476-4-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-01 19:06 ` Johannes Weiner
2012-10-02 9:10 ` Glauber Costa
2012-09-18 14:04 ` [PATCH v3 04/13] kmem accounting basic infrastructure Glauber Costa
2012-09-21 16:34 ` Tejun Heo
[not found] ` <20120921163404.GC7264-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-24 8:09 ` Glauber Costa
[not found] ` <1347977050-29476-5-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-26 14:03 ` Michal Hocko
2012-09-26 14:33 ` Glauber Costa
[not found] ` <50631226.9050304-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-26 16:01 ` Michal Hocko
2012-09-26 17:34 ` Glauber Costa
[not found] ` <20120926140347.GD15801-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-09-26 16:36 ` Tejun Heo
2012-09-26 17:36 ` Glauber Costa
[not found] ` <50633D24.6020002-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-26 17:44 ` Tejun Heo
2012-09-26 17:53 ` Glauber Costa
2012-09-26 18:01 ` Tejun Heo
[not found] ` <20120926180124.GA12544-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-26 18:56 ` Glauber Costa
[not found] ` <50634FC9.4090609-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-26 19:34 ` Tejun Heo
2012-09-26 19:46 ` Glauber Costa
[not found] ` <50635B9D.8020205-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-26 19:56 ` Tejun Heo
2012-09-26 20:02 ` Glauber Costa
[not found] ` <50635F46.7000700-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-26 20:16 ` Tejun Heo
2012-09-26 21:24 ` Glauber Costa
[not found] ` <50637298.2090904-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-26 22:10 ` Tejun Heo
2012-09-26 22:29 ` Glauber Costa
[not found] ` <506381B2.2060806-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-26 22:42 ` Tejun Heo
2012-09-26 22:54 ` Glauber Costa
[not found] ` <50638793.7060806-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-26 23:08 ` Tejun Heo [this message]
2012-09-26 23:20 ` Glauber Costa
2012-09-26 23:33 ` Tejun Heo
[not found] ` <20120926233334.GD10453-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-09-27 12:15 ` Michal Hocko
2012-09-27 12:20 ` Glauber Costa
[not found] ` <506444A7.5060303-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-27 12:40 ` Michal Hocko
[not found] ` <20120927124031.GC29104-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-09-27 12:40 ` Glauber Costa
2012-09-27 12:54 ` Michal Hocko
[not found] ` <20120926230807.GC10453-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-09-27 14:28 ` Mel Gorman
2012-09-27 14:49 ` Tejun Heo
2012-09-27 14:57 ` Glauber Costa
[not found] ` <50646977.40300-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-27 17:46 ` Tejun Heo
2012-09-27 17:56 ` Michal Hocko
2012-09-27 18:45 ` Glauber Costa
[not found] ` <50649EAD.2050306-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-30 7:57 ` Tejun Heo
2012-09-30 8:02 ` Tejun Heo
[not found] ` <20120930080249.GF10383-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-09-30 8:56 ` James Bottomley
[not found] ` <1348995388.2458.8.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org>
2012-09-30 10:37 ` Tejun Heo
2012-09-30 11:25 ` James Bottomley
[not found] ` <1349004352.2458.34.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org>
2012-10-01 0:57 ` Tejun Heo
2012-10-01 8:43 ` Glauber Costa
2012-10-01 8:46 ` Glauber Costa
2012-10-03 22:59 ` Tejun Heo
2012-10-01 8:36 ` Glauber Costa
2012-09-27 12:08 ` Michal Hocko
2012-09-27 12:11 ` Glauber Costa
2012-09-27 14:33 ` Tejun Heo
[not found] ` <20120927143300.GA4251-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-09-27 14:43 ` Mel Gorman
2012-09-27 14:58 ` Tejun Heo
2012-09-27 18:30 ` Glauber Costa
2012-09-30 8:23 ` Tejun Heo
2012-10-01 8:45 ` Glauber Costa
2012-10-03 22:54 ` Tejun Heo
2012-10-04 11:55 ` Glauber Costa
[not found] ` <506D7922.1050108-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-06 2:19 ` Tejun Heo
2012-09-27 15:09 ` Michal Hocko
2012-09-30 8:47 ` Tejun Heo
2012-10-01 9:27 ` Michal Hocko
[not found] ` <20121001092756.GA8622-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-03 22:43 ` Tejun Heo
2012-10-05 13:47 ` Michal Hocko
2012-09-26 22:11 ` Johannes Weiner
2012-09-26 22:45 ` Glauber Costa
2012-09-18 14:04 ` [PATCH v3 05/13] Add a __GFP_KMEMCG flag Glauber Costa
2012-09-18 14:15 ` Rik van Riel
[not found] ` <1347977050-29476-6-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-18 15:06 ` Christoph Lameter
[not found] ` <00000139d9ea69c6-109249c2-5176-4a1e-b000-4c076d05844d-000000-p/GC64/jrecnJqMo6gzdpkEOCMrvLtNR@public.gmane.org>
2012-09-19 7:39 ` Glauber Costa
[not found] ` <505976B5.6090801-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-19 14:07 ` Christoph Lameter
2012-09-27 13:34 ` Mel Gorman
2012-09-27 13:41 ` Glauber Costa
2012-10-01 19:09 ` Johannes Weiner
2012-09-18 14:04 ` [PATCH v3 06/13] memcg: kmem controller infrastructure Glauber Costa
[not found] ` <1347977050-29476-7-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-20 16:05 ` JoonSoo Kim
[not found] ` <CAAmzW4ONnc7n3kZbYnE6n2Cg0ZyPXW0QU2NMr0uRkyTxnGpNqQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-09-21 8:41 ` Glauber Costa
2012-09-21 9:14 ` JoonSoo Kim
2012-09-26 15:51 ` Michal Hocko
2012-09-27 11:31 ` Glauber Costa
[not found] ` <5064392D.5040707-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-27 13:44 ` Michal Hocko
[not found] ` <20120927134432.GE29104-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-09-28 11:34 ` Glauber Costa
2012-09-30 8:25 ` Tejun Heo
2012-10-01 8:28 ` Glauber Costa
[not found] ` <5069542C.2020103-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-03 22:11 ` Tejun Heo
[not found] ` <20120930082542.GH10383-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-10-01 9:44 ` Michal Hocko
[not found] ` <50658B3B.9020303-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-01 9:48 ` Michal Hocko
2012-10-01 10:09 ` Glauber Costa
2012-10-01 11:51 ` Michal Hocko
[not found] ` <20121001115157.GE8622-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-01 11:51 ` Glauber Costa
2012-10-01 11:58 ` Michal Hocko
[not found] ` <20121001115847.GF8622-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-01 12:04 ` Glauber Costa
2012-09-18 14:04 ` [PATCH v3 07/13] mm: Allocate kernel pages to the right memcg Glauber Costa
2012-09-27 13:50 ` Mel Gorman
[not found] ` <20120927135053.GF3429-l3A5Bk7waGM@public.gmane.org>
2012-09-28 9:43 ` Glauber Costa
2012-09-28 13:28 ` Mel Gorman
[not found] ` <1347977050-29476-8-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-27 13:52 ` Michal Hocko
2012-09-18 14:04 ` [PATCH v3 08/13] res_counter: return amount of charges after res_counter_uncharge Glauber Costa
2012-10-01 10:00 ` Michal Hocko
2012-10-01 10:01 ` Glauber Costa
2012-09-18 14:04 ` [PATCH v3 09/13] memcg: kmem accounting lifecycle management Glauber Costa
[not found] ` <1347977050-29476-10-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-01 12:15 ` Michal Hocko
[not found] ` <20121001121553.GG8622-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-01 12:29 ` Glauber Costa
[not found] ` <50698C97.70703-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-01 12:36 ` Michal Hocko
[not found] ` <20121001123654.GJ8622-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-01 12:43 ` Glauber Costa
2012-09-18 14:04 ` [PATCH v3 10/13] memcg: use static branches when code not in use Glauber Costa
2012-10-01 12:25 ` Michal Hocko
[not found] ` <20121001122516.GH8622-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-01 12:27 ` Glauber Costa
2012-09-18 14:04 ` [PATCH v3 11/13] memcg: allow a memcg with kmem charges to be destructed Glauber Costa
[not found] ` <1347977050-29476-12-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-01 12:30 ` Michal Hocko
2012-09-18 14:04 ` [PATCH v3 12/13] execute the whole memcg freeing in rcu callback Glauber Costa
[not found] ` <1347977050-29476-13-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-21 17:23 ` Tejun Heo
[not found] ` <20120921172355.GD7264-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-24 8:48 ` Glauber Costa
2012-10-01 13:27 ` Michal Hocko
2012-10-04 10:53 ` Glauber Costa
2012-10-04 14:20 ` Glauber Costa
[not found] ` <506D6A99.7070800-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-05 15:31 ` Johannes Weiner
2012-10-08 9:45 ` Glauber Costa
2012-09-18 14:04 ` [PATCH v3 13/13] protect architectures where THREAD_SIZE >= PAGE_SIZE against fork bombs Glauber Costa
[not found] ` <1347977050-29476-14-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-01 13:17 ` Michal Hocko
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=20120926230807.GC10453@mtj.dyndns.org \
--to=tj-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=devel-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org \
--cc=fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org \
--cc=hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org \
--cc=kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
--cc=mgorman-l3A5Bk7waGM@public.gmane.org \
--cc=mhocko-AlSwsSmVLrQ@public.gmane.org \
--cc=rientjes-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=suleiman-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
/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).