cgroups.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Glauber Costa <glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
To: Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
Cc: linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Mel Gorman <mgorman-l3A5Bk7waGM@public.gmane.org>,
	Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>,
	Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>,
	kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org,
	Christoph Lameter <cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>,
	David Rientjes <rientjes-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	Pekka Enberg <penberg-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	devel-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v5 04/14] kmem accounting basic infrastructure
Date: Thu, 18 Oct 2012 21:03:23 +0400	[thread overview]
Message-ID: <5080365B.3000506@parallels.com> (raw)
In-Reply-To: <20121017151207.e8bb3db2.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>

On 10/18/2012 02:12 AM, Andrew Morton wrote:
> On Tue, 16 Oct 2012 14:16:41 +0400
> Glauber Costa <glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org> wrote:
> 
>> This patch adds the basic infrastructure for the accounting of kernel
>> memory. To control that, the following files are created:
>>
>>  * memory.kmem.usage_in_bytes
>>  * memory.kmem.limit_in_bytes
>>  * memory.kmem.failcnt
> 
> gargh.  "failcnt" is not a word.  Who was it who first thought that
> omitting voewls from words improves anything?
> 
> Sigh.  That pooch is already screwed and there's nothing we can do
> about it now.
> 

Dunno =(


>>  * memory.kmem.max_usage_in_bytes
>>
>> They have the same meaning of their user memory counterparts. They
>> reflect the state of the "kmem" res_counter.
>>
>> Per cgroup kmem memory accounting is not enabled until a limit is set
>> for the group. Once the limit is set the accounting cannot be disabled
>> for that group.  This means that after the patch is applied, no
>> behavioral changes exists for whoever is still using memcg to control
>> their memory usage, until memory.kmem.limit_in_bytes is set for the
>> first time.
>>
>> We always account to both user and kernel resource_counters. This
>> effectively means that an independent kernel limit is in place when the
>> limit is set to a lower value than the user memory. A equal or higher
>> value means that the user limit will always hit first, meaning that kmem
>> is effectively unlimited.
>>
>> People who want to track kernel memory but not limit it, can set this
>> limit to a very high number (like RESOURCE_MAX - 1page - that no one
>> will ever hit, or equal to the user memory)
>>
>>
>> ...
>>
>> +/* internal only representation about the status of kmem accounting. */
>> +enum {
>> +	KMEM_ACCOUNTED_ACTIVE = 0, /* accounted by this cgroup itself */
>> +};
>> +
>> +#define KMEM_ACCOUNTED_MASK (1 << KMEM_ACCOUNTED_ACTIVE)
>> +
>> +#ifdef CONFIG_MEMCG_KMEM
>> +static void memcg_kmem_set_active(struct mem_cgroup *memcg)
>> +{
>> +	set_bit(KMEM_ACCOUNTED_ACTIVE, &memcg->kmem_accounted);
>> +}
>> +#endif
> 
> I don't think memcg_kmem_set_active() really needs to exist.  It has a
> single caller and is unlikely to get any additional callers, so just
> open-code it there?
> 

Actually they exist as a way to make everything fit in closer to
80-columns without writing the function spanning 10 lines.

I can open code them if you guys prefer.

  parent reply	other threads:[~2012-10-18 17:03 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-16 10:16 [PATCH v5 00/14] kmem controller for memcg Glauber Costa
2012-10-16 10:16 ` [PATCH v5 01/14] memcg: Make it possible to use the stock for more than one page Glauber Costa
     [not found]   ` <1350382611-20579-2-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-17 22:11     ` Andrew Morton
2012-10-18 16:54       ` Glauber Costa
2012-10-16 10:16 ` [PATCH v5 02/14] memcg: Reclaim when more than one page needed Glauber Costa
     [not found]   ` <1350382611-20579-3-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-17 21:46     ` David Rientjes
2012-10-16 10:16 ` [PATCH v5 03/14] memcg: change defines to an enum Glauber Costa
2012-10-17 21:50   ` David Rientjes
2012-10-16 10:16 ` [PATCH v5 04/14] kmem accounting basic infrastructure Glauber Costa
2012-10-16 12:14   ` Michal Hocko
     [not found]   ` <1350382611-20579-5-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-17 22:08     ` David Rientjes
     [not found]       ` <alpine.DEB.2.00.1210171455010.20712-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2012-10-18 17:01         ` Glauber Costa
2012-10-18 19:47           ` Tejun Heo
2012-10-18 19:37         ` Tejun Heo
2012-10-17 22:12   ` Andrew Morton
     [not found]     ` <20121017151207.e8bb3db2.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2012-10-18 17:03       ` Glauber Costa [this message]
2012-10-16 10:16 ` [PATCH v5 05/14] Add a __GFP_KMEMCG flag Glauber Costa
     [not found]   ` <1350382611-20579-6-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-16 12:15     ` Michal Hocko
2012-10-17 22:09     ` David Rientjes
2012-10-16 10:16 ` [PATCH v5 06/14] memcg: kmem controller infrastructure Glauber Costa
2012-10-17  6:40   ` Kamezawa Hiroyuki
2012-10-17 22:12   ` Andrew Morton
2012-10-18  9:16     ` Glauber Costa
2012-10-18 22:06       ` David Rientjes
2012-10-19  9:10         ` Glauber Costa
2012-10-19  9:31           ` David Rientjes
2012-10-19 10:00             ` Glauber Costa
2012-10-17 22:37   ` David Rientjes
2012-10-18  9:23     ` Glauber Costa
     [not found]       ` <507FCA90.8060307-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-18 21:59         ` David Rientjes
     [not found]           ` <alpine.DEB.2.00.1210181454100.30894-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2012-10-19 10:08             ` Glauber Costa
2012-10-19 20:34               ` David Rientjes
     [not found]                 ` <alpine.DEB.2.00.1210191331400.17804-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2012-10-22 12:34                   ` Glauber Costa
     [not found]                     ` <50853D47.4030409-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-22 12:51                       ` Michal Hocko
2012-10-22 12:52                         ` Glauber Costa
2012-10-16 10:16 ` [PATCH v5 07/14] mm: Allocate kernel pages to the right memcg Glauber Costa
     [not found]   ` <1350382611-20579-8-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-16 15:31     ` Christoph Lameter
     [not found]       ` <0000013a6a333867-52b0d904-5ca2-4095-8c46-5a4dfc021cde-000000-p/GC64/jrecnJqMo6gzdpkEOCMrvLtNR@public.gmane.org>
2012-10-16 18:55         ` Glauber Costa
2012-10-17 22:43     ` David Rientjes
2012-10-17 22:12   ` Andrew Morton
2012-10-18  9:24     ` Glauber Costa
     [not found]       ` <507FCADF.20109-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-18 20:44         ` Andrew Morton
     [not found]     ` <20121017151221.4c420e5a.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2012-10-18 11:53       ` Glauber Costa
2012-10-16 10:16 ` [PATCH v5 08/14] res_counter: return amount of charges after res_counter_uncharge Glauber Costa
     [not found]   ` <1350382611-20579-9-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-17 23:23     ` David Rientjes
2012-10-16 10:16 ` [PATCH v5 09/14] memcg: kmem accounting lifecycle management Glauber Costa
2012-10-17 23:28   ` David Rientjes
     [not found]     ` <alpine.DEB.2.00.1210171624540.20813-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2012-10-18  6:14       ` Michal Hocko
2012-10-18  9:42       ` Glauber Costa
2012-10-16 10:16 ` [PATCH v5 10/14] memcg: use static branches when code not in use Glauber Costa
2012-10-16 10:16 ` [PATCH v5 11/14] memcg: allow a memcg with kmem charges to be destructed Glauber Costa
2012-10-17 22:12   ` Andrew Morton
2012-10-18  9:33     ` Glauber Costa
2012-10-16 10:16 ` [PATCH v5 12/14] execute the whole memcg freeing in free_worker Glauber Costa
2012-10-17  6:56   ` Kamezawa Hiroyuki
2012-10-16 10:16 ` [PATCH v5 13/14] protect architectures where THREAD_SIZE >= PAGE_SIZE against fork bombs Glauber Costa
2012-10-17 22:12   ` Andrew Morton
     [not found]     ` <20121017151245.f11c4d18.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2012-10-18  9:37       ` Glauber Costa
2012-10-16 10:16 ` [PATCH v5 14/14] Add documentation about the kmem controller Glauber Costa
     [not found]   ` <1350382611-20579-15-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-16 12:23     ` Michal Hocko
2012-10-16 18:25   ` Christoph Lameter
     [not found]     ` <0000013a6ad26c73-d043cf97-c44a-45c1-9cae-0a962e93a005-000000-p/GC64/jrecnJqMo6gzdpkEOCMrvLtNR@public.gmane.org>
2012-10-16 18:55       ` Aristeu Rozanski
2012-10-16 19:02       ` Glauber Costa
     [not found]         ` <507DAF56.9010403-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-16 19:30           ` Christoph Lameter
2012-10-17 22:12   ` Andrew Morton
2012-10-18  9:38     ` Glauber Costa
     [not found] ` <1350382611-20579-1-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-17 22:11   ` [PATCH v5 00/14] kmem controller for memcg Andrew Morton
     [not found]     ` <20121017151142.71e1f3c5.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2012-10-18 16:51       ` Glauber Costa
     [not found]         ` <50803379.8000808-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-18 19:21           ` Andrew Morton
     [not found]             ` <20121018122105.2efc2841.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2012-10-19  9:55               ` Glauber Costa

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=5080365B.3000506@parallels.com \
    --to=glommer-bzqdu9zft3wakbo8gow8eq@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org \
    --cc=devel-GEFAQzZX7r8dnm+yROfE0A@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=penberg-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=rientjes-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    --cc=tj-DgEjT+Ai2ygdnm+yROfE0A@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).