From: Kirill Tkhai <ktkhai@virtuozzo.com>
To: bharata@linux.ibm.com
Cc: Dave Chinner <david@fromorbit.com>,
akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
aneesh.kumar@linux.ibm.com, Roman Gushchin <guro@fb.com>,
Shakeel Butt <shakeelb@google.com>,
Johannes Weiner <hannes@cmpxchg.org>
Subject: Re: High kmalloc-32 slab cache consumption with 10k containers
Date: Wed, 7 Apr 2021 15:49:23 +0300 [thread overview]
Message-ID: <82e806cb-9e3f-c61c-3cbf-484f0661c4f2@virtuozzo.com> (raw)
In-Reply-To: <20210407114723.GD1354243@in.ibm.com>
On 07.04.2021 14:47, Bharata B Rao wrote:
> On Wed, Apr 07, 2021 at 01:07:27PM +0300, Kirill Tkhai wrote:
>>> Here is how the calculation turns out to be in my setup:
>>>
>>> Number of possible NUMA nodes = 2
>>> Number of mounts per container = 7 (Check below to see which are these)
>>> Number of list creation requests per mount = 2
>>> Number of containers = 10000
>>> memcg_nr_cache_ids for 10k containers = 12286
>>
>> Luckily, we have "+1" in memcg_nr_cache_ids formula: size = 2 * (id + 1).
>> In case of we only multiplied it, you would have to had memcg_nr_cache_ids=20000.
>
> Not really, it would grow like this for size = 2 * id
>
> id 0 size 4
> id 4 size 8
> id 8 size 16
> id 16 size 32
> id 32 size 64
> id 64 size 128
> id 128 size 256
> id 256 size 512
> id 512 size 1024
> id 1024 size 2048
> id 2048 size 4096
> id 4096 size 8192
> id 8192 size 16384
>
> Currently (size = 2 * (id + 1)), it grows like this:
>
> id 0 size 4
> id 4 size 10
> id 10 size 22
> id 22 size 46
> id 46 size 94
> id 94 size 190
> id 190 size 382
> id 382 size 766
> id 766 size 1534
> id 1534 size 3070
> id 3070 size 6142
> id 6142 size 12286
Oh, thanks, I forgot what power of two is :)
>>
>> Maybe, we need change that formula to increase memcg_nr_cache_ids more accurate
>> for further growths of containers number. Say,
>>
>> size = id < 2000 ? 2 * (id + 1) : id + 2000
>
> For the above, it would only be marginally better like this:
>
> id 0 size 4
> id 4 size 10
> id 10 size 22
> id 22 size 46
> id 46 size 94
> id 94 size 190
> id 190 size 382
> id 382 size 766
> id 766 size 1534
> id 1534 size 3070
> id 3070 size 5070
> id 5070 size 7070
> id 7070 size 9070
> id 9070 size 11070
>
> All the above numbers are for 10k memcgs.
I mean the number of containers bigger then your 10000.
next prev parent reply other threads:[~2021-04-07 12:49 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-05 5:48 Bharata B Rao
2021-04-05 8:22 ` kernel test robot
2021-04-05 18:08 ` Yang Shi
2021-04-05 18:38 ` Roman Gushchin
2021-04-06 10:13 ` Bharata B Rao
2021-04-06 10:05 ` Bharata B Rao
2021-04-07 1:39 ` Yang Shi
2021-04-06 22:28 ` Dave Chinner
2021-04-07 5:05 ` Bharata B Rao
2021-04-07 10:07 ` Kirill Tkhai
2021-04-07 11:47 ` Bharata B Rao
2021-04-07 12:49 ` Kirill Tkhai [this message]
2021-04-07 13:57 ` Christian Brauner
2021-04-15 5:23 ` Bharata B Rao
2021-04-15 6:54 ` Michal Hocko
2021-04-15 7:21 ` Bharata B Rao
2021-04-16 4:44 ` Bharata B Rao
2021-04-19 1:23 ` Dave Chinner
2021-04-07 11:54 ` Michal Hocko
2021-04-07 13:32 ` Christian Brauner
2021-04-07 13:43 ` Bharata B Rao
2021-04-07 13:57 ` Michal Hocko
2021-04-07 15:42 ` 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=82e806cb-9e3f-c61c-3cbf-484f0661c4f2@virtuozzo.com \
--to=ktkhai@virtuozzo.com \
--cc=akpm@linux-foundation.org \
--cc=aneesh.kumar@linux.ibm.com \
--cc=bharata@linux.ibm.com \
--cc=david@fromorbit.com \
--cc=guro@fb.com \
--cc=hannes@cmpxchg.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=shakeelb@google.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
all inboxes | Powered by JetHome®