public inbox for cgroups@vger.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Nikolay Borisov <n.borisov-/eCPMmvKun9pLGFMi4vTTA@public.gmane.org>
Cc: cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Access rules for current->memcg
Date: Tue, 21 Jul 2015 09:48:34 +0200	[thread overview]
Message-ID: <20150721074834.GF11967@dhcp22.suse.cz> (raw)
In-Reply-To: <55ACD9F8.2040802-/eCPMmvKun9pLGFMi4vTTA@public.gmane.org>

On Mon 20-07-15 14:22:32, Nikolay Borisov wrote:
> 
> 
> On 07/20/2015 02:17 PM, Michal Hocko wrote:
> > On Fri 17-07-15 10:16:25, Nikolay Borisov wrote:
> >>
> >>
> >> On 07/17/2015 10:13 AM, Michal Hocko wrote:
> >>> On Fri 17-07-15 00:21:51, Nikolay Borisov wrote:
> > [...]
> >>>> In my particular use case I have to query the memcg's various counters to expose
> >>>> them to the user in a different way than via the cgroup files
> >>>> (memory.limit_in_bytes etc).
> >>>
> >>> Why is the regular interface not sufficient?
> >>
> >> In my particular case I'm interested in playing with the contents of
> >> /proc/meminfo, so that processes running inside a cgroup only see the
> >> the system as defined by the memcg restrictions
> > 
> > I assume that this is an attempt to containerize /proc/meminfo. I am not
> > sure this is a great idea. There are counters which do not have memcg
> > specific counterpart or such a counterpart would be missleading (e.g.
> > slab, swap statistics).
> 
> Why would swap be misleading?

Because the swap space is inherently a shared resource.

> What about memsw.limit_in_bytes - memory.limit_in_bytes for the total swap

No this is not how the swap extension works. memsw counter covers
usage+swap. You can have up to memsw.limit_in_bytes swapped out. So
you would have to do min(memsw.limit_in_bytes, TotalSwap) but even then
it wouldn't tell you much because that would be the case for other
memory cgroups as well. I would be quite hard to distribute the
TotalSwap for all the cgroups.

> and calculating the swap usage
> based on memory.memsw.max_usage_in_bytes - memory.usage_in_bytes ?

This doesn't make much sense to me. Swap usage per memcg is exported by
memory.stat file. But this is not what you want to export. meminfo
exports SwapFree which would tell you how much memory could be swapped
out before the anonymous memory is not reclaimable anymore. This is
impossible to find out in general - especially when the system is
allowed to be overcommit.
-- 
Michal Hocko
SUSE Labs

  parent reply	other threads:[~2015-07-21  7:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-16 13:34 Access rules for current->memcg Nikolay Borisov
     [not found] ` <55A7B2D0.1030506-/eCPMmvKun9pLGFMi4vTTA@public.gmane.org>
2015-07-16 14:59   ` Michal Hocko
     [not found]     ` <20150716145902.GA10758-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2015-07-16 15:11       ` Nikolay Borisov
     [not found]         ` <55A7C9B4.3010907-/eCPMmvKun9pLGFMi4vTTA@public.gmane.org>
2015-07-16 15:22           ` Michal Hocko
     [not found]             ` <20150716152239.GA22529-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2015-07-16 21:21               ` Nikolay Borisov
     [not found]                 ` <CAJFSNy6sLX82+3ZW_COr__pDTd9aSGgL1bjryMKKcVPhEN0F9g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-17  7:13                   ` Michal Hocko
     [not found]                     ` <20150717071339.GA24787-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2015-07-17  7:16                       ` Nikolay Borisov
     [not found]                         ` <55A8ABC9.7090701-/eCPMmvKun9pLGFMi4vTTA@public.gmane.org>
2015-07-20 11:17                           ` Michal Hocko
     [not found]                             ` <20150720111707.GE1211-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2015-07-20 11:22                               ` Nikolay Borisov
     [not found]                                 ` <55ACD9F8.2040802-/eCPMmvKun9pLGFMi4vTTA@public.gmane.org>
2015-07-21  7:48                                   ` Michal Hocko [this message]
     [not found]                                     ` <20150721074834.GF11967-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2015-07-21  9:08                                       ` Nikolay Borisov
     [not found]                                         ` <55AE0C18.5000304-/eCPMmvKun9pLGFMi4vTTA@public.gmane.org>
2015-07-21  9:24                                           ` Johannes Weiner
2015-07-21  9:48                                           ` Michal Hocko
     [not found]                                             ` <20150721094832.GI11967-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2015-07-21 10:32                                               ` Nikolay Borisov
     [not found]                                                 ` <55AE1FB7.8050107-/eCPMmvKun9pLGFMi4vTTA@public.gmane.org>
2015-07-21 12:25                                                   ` 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=20150721074834.GF11967@dhcp22.suse.cz \
    --to=mhocko-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=n.borisov-/eCPMmvKun9pLGFMi4vTTA@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