From: Kamezawa Hiroyuki <kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
To: Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>,
Andrew Morton
<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
Cc: Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>,
Vladimir Davydov
<vdavydov-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>,
Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>,
linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [patch 1/3] mm: embed the memcg pointer directly into struct page
Date: Tue, 4 Nov 2014 17:36:39 +0900 [thread overview]
Message-ID: <54589017.9060604@jp.fujitsu.com> (raw)
In-Reply-To: <1414898156-4741-1-git-send-email-hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
(2014/11/02 12:15), Johannes Weiner wrote:
> Memory cgroups used to have 5 per-page pointers. To allow users to
> disable that amount of overhead during runtime, those pointers were
> allocated in a separate array, with a translation layer between them
> and struct page.
>
> There is now only one page pointer remaining: the memcg pointer, that
> indicates which cgroup the page is associated with when charged. The
> complexity of runtime allocation and the runtime translation overhead
> is no longer justified to save that *potential* 0.19% of memory. With
> CONFIG_SLUB, page->mem_cgroup actually sits in the doubleword padding
> after the page->private member and doesn't even increase struct page,
> and then this patch actually saves space. Remaining users that care
> can still compile their kernels without CONFIG_MEMCG.
>
> text data bss dec hex filename
> 8828345 1725264 983040 11536649 b00909 vmlinux.old
> 8827425 1725264 966656 11519345 afc571 vmlinux.new
>
> Signed-off-by: Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
> ---
> include/linux/memcontrol.h | 6 +-
> include/linux/mm_types.h | 5 +
> include/linux/mmzone.h | 12 --
> include/linux/page_cgroup.h | 53 --------
> init/main.c | 7 -
> mm/memcontrol.c | 124 +++++------------
> mm/page_alloc.c | 2 -
> mm/page_cgroup.c | 319 --------------------------------------------
> 8 files changed, 41 insertions(+), 487 deletions(-)
>
Great!
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
BTW, init/Kconfig comments shouldn't be updated ?
(I'm sorry if it has been updated since your latest fix.)
WARNING: multiple messages have this Message-ID (diff)
From: Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
To: Johannes Weiner <hannes@cmpxchg.org>,
Andrew Morton <akpm@linux-foundation.org>
Cc: Michal Hocko <mhocko@suse.cz>,
Vladimir Davydov <vdavydov@parallels.com>,
Tejun Heo <tj@kernel.org>, David Miller <davem@davemloft.net>,
linux-mm@kvack.org, cgroups@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [patch 1/3] mm: embed the memcg pointer directly into struct page
Date: Tue, 4 Nov 2014 17:36:39 +0900 [thread overview]
Message-ID: <54589017.9060604@jp.fujitsu.com> (raw)
In-Reply-To: <1414898156-4741-1-git-send-email-hannes@cmpxchg.org>
(2014/11/02 12:15), Johannes Weiner wrote:
> Memory cgroups used to have 5 per-page pointers. To allow users to
> disable that amount of overhead during runtime, those pointers were
> allocated in a separate array, with a translation layer between them
> and struct page.
>
> There is now only one page pointer remaining: the memcg pointer, that
> indicates which cgroup the page is associated with when charged. The
> complexity of runtime allocation and the runtime translation overhead
> is no longer justified to save that *potential* 0.19% of memory. With
> CONFIG_SLUB, page->mem_cgroup actually sits in the doubleword padding
> after the page->private member and doesn't even increase struct page,
> and then this patch actually saves space. Remaining users that care
> can still compile their kernels without CONFIG_MEMCG.
>
> text data bss dec hex filename
> 8828345 1725264 983040 11536649 b00909 vmlinux.old
> 8827425 1725264 966656 11519345 afc571 vmlinux.new
>
> Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
> ---
> include/linux/memcontrol.h | 6 +-
> include/linux/mm_types.h | 5 +
> include/linux/mmzone.h | 12 --
> include/linux/page_cgroup.h | 53 --------
> init/main.c | 7 -
> mm/memcontrol.c | 124 +++++------------
> mm/page_alloc.c | 2 -
> mm/page_cgroup.c | 319 --------------------------------------------
> 8 files changed, 41 insertions(+), 487 deletions(-)
>
Great!
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
BTW, init/Kconfig comments shouldn't be updated ?
(I'm sorry if it has been updated since your latest fix.)
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
To: Johannes Weiner <hannes@cmpxchg.org>,
Andrew Morton <akpm@linux-foundation.org>
Cc: Michal Hocko <mhocko@suse.cz>,
Vladimir Davydov <vdavydov@parallels.com>,
Tejun Heo <tj@kernel.org>, David Miller <davem@davemloft.net>,
<linux-mm@kvack.org>, <cgroups@vger.kernel.org>,
<linux-kernel@vger.kernel.org>
Subject: Re: [patch 1/3] mm: embed the memcg pointer directly into struct page
Date: Tue, 4 Nov 2014 17:36:39 +0900 [thread overview]
Message-ID: <54589017.9060604@jp.fujitsu.com> (raw)
In-Reply-To: <1414898156-4741-1-git-send-email-hannes@cmpxchg.org>
(2014/11/02 12:15), Johannes Weiner wrote:
> Memory cgroups used to have 5 per-page pointers. To allow users to
> disable that amount of overhead during runtime, those pointers were
> allocated in a separate array, with a translation layer between them
> and struct page.
>
> There is now only one page pointer remaining: the memcg pointer, that
> indicates which cgroup the page is associated with when charged. The
> complexity of runtime allocation and the runtime translation overhead
> is no longer justified to save that *potential* 0.19% of memory. With
> CONFIG_SLUB, page->mem_cgroup actually sits in the doubleword padding
> after the page->private member and doesn't even increase struct page,
> and then this patch actually saves space. Remaining users that care
> can still compile their kernels without CONFIG_MEMCG.
>
> text data bss dec hex filename
> 8828345 1725264 983040 11536649 b00909 vmlinux.old
> 8827425 1725264 966656 11519345 afc571 vmlinux.new
>
> Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
> ---
> include/linux/memcontrol.h | 6 +-
> include/linux/mm_types.h | 5 +
> include/linux/mmzone.h | 12 --
> include/linux/page_cgroup.h | 53 --------
> init/main.c | 7 -
> mm/memcontrol.c | 124 +++++------------
> mm/page_alloc.c | 2 -
> mm/page_cgroup.c | 319 --------------------------------------------
> 8 files changed, 41 insertions(+), 487 deletions(-)
>
Great!
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
BTW, init/Kconfig comments shouldn't be updated ?
(I'm sorry if it has been updated since your latest fix.)
next prev parent reply other threads:[~2014-11-04 8:36 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-02 3:15 [patch 1/3] mm: embed the memcg pointer directly into struct page Johannes Weiner
2014-11-02 3:15 ` Johannes Weiner
2014-11-02 3:15 ` [patch 2/3] mm: page_cgroup: rename file to mm/swap_cgroup.c Johannes Weiner
2014-11-02 3:15 ` Johannes Weiner
2014-11-03 4:22 ` David Miller
2014-11-03 4:22 ` David Miller
2014-11-03 16:57 ` Michal Hocko
2014-11-03 16:57 ` Michal Hocko
[not found] ` <1414898156-4741-2-git-send-email-hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2014-11-03 17:30 ` Vladimir Davydov
2014-11-03 17:30 ` Vladimir Davydov
2014-11-03 17:30 ` Vladimir Davydov
2014-11-04 8:37 ` Kamezawa Hiroyuki
2014-11-04 8:37 ` Kamezawa Hiroyuki
2014-11-02 3:15 ` [patch 3/3] mm: move page->mem_cgroup bad page handling into generic code Johannes Weiner
2014-11-02 3:15 ` Johannes Weiner
2014-11-03 4:23 ` David Miller
2014-11-03 4:23 ` David Miller
2014-11-03 16:58 ` Michal Hocko
2014-11-03 16:58 ` Michal Hocko
2014-11-03 17:32 ` Vladimir Davydov
2014-11-03 17:32 ` Vladimir Davydov
2014-11-03 18:27 ` [patch] mm: move page->mem_cgroup bad page handling into generic code fix Johannes Weiner
2014-11-03 18:27 ` Johannes Weiner
[not found] ` <20141103182740.GA10816-HTCKtW7iVlxqnrmGgq4/JMIURNUf+fel@public.gmane.org>
2014-11-03 20:10 ` David Miller
2014-11-03 20:10 ` David Miller
2014-11-03 20:10 ` David Miller
[not found] ` <1414898156-4741-3-git-send-email-hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2014-11-04 8:39 ` [patch 3/3] mm: move page->mem_cgroup bad page handling into generic code Kamezawa Hiroyuki
2014-11-04 8:39 ` Kamezawa Hiroyuki
2014-11-04 8:39 ` Kamezawa Hiroyuki
2014-11-03 4:22 ` [patch 1/3] mm: embed the memcg pointer directly into struct page David Miller
2014-11-03 4:22 ` David Miller
2014-11-03 8:02 ` Joonsoo Kim
2014-11-03 8:02 ` Joonsoo Kim
2014-11-03 15:09 ` Johannes Weiner
2014-11-03 15:09 ` Johannes Weiner
2014-11-03 15:09 ` Johannes Weiner
[not found] ` <20141103150942.GA32052-HTCKtW7iVlxqnrmGgq4/JMIURNUf+fel@public.gmane.org>
2014-11-03 16:42 ` David Miller
2014-11-03 16:42 ` David Miller
2014-11-03 16:42 ` David Miller
2014-11-03 17:02 ` Michal Hocko
2014-11-03 17:02 ` Michal Hocko
2014-11-04 0:40 ` Joonsoo Kim
2014-11-04 0:40 ` Joonsoo Kim
2014-11-03 16:51 ` Michal Hocko
2014-11-03 16:51 ` Michal Hocko
2014-11-03 17:17 ` Michal Hocko
2014-11-03 17:17 ` Michal Hocko
2014-11-03 17:30 ` Vladimir Davydov
2014-11-03 17:30 ` Vladimir Davydov
2014-11-03 21:06 ` Kirill A. Shutemov
2014-11-03 21:06 ` Kirill A. Shutemov
2014-11-03 21:36 ` Johannes Weiner
2014-11-03 21:36 ` Johannes Weiner
2014-11-03 21:52 ` Kirill A. Shutemov
2014-11-03 21:52 ` Kirill A. Shutemov
[not found] ` <20141103215206.GB24091-nhfs4B5ZimeFUdmeq17FyvUpdFzICT1y@public.gmane.org>
2014-11-03 21:58 ` David Miller
2014-11-03 21:58 ` David Miller
2014-11-03 21:58 ` David Miller
2014-11-03 22:36 ` Johannes Weiner
2014-11-03 22:36 ` Johannes Weiner
2014-11-04 13:06 ` Michal Hocko
2014-11-04 13:06 ` Michal Hocko
2014-11-04 13:48 ` Johannes Weiner
2014-11-04 13:48 ` Johannes Weiner
[not found] ` <20141104134841.GB18441-HTCKtW7iVlxqnrmGgq4/JMIURNUf+fel@public.gmane.org>
2014-11-04 14:50 ` Michal Hocko
2014-11-04 14:50 ` Michal Hocko
2014-11-04 14:50 ` Michal Hocko
[not found] ` <1414898156-4741-1-git-send-email-hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2014-11-04 8:36 ` Kamezawa Hiroyuki [this message]
2014-11-04 8:36 ` Kamezawa Hiroyuki
2014-11-04 8:36 ` Kamezawa Hiroyuki
2014-11-04 13:27 ` Johannes Weiner
2014-11-04 13:27 ` Johannes Weiner
2014-11-04 13:41 ` Michal Hocko
2014-11-04 13:41 ` Michal Hocko
2014-11-04 14:09 ` Johannes Weiner
2014-11-04 14:09 ` Johannes Weiner
2014-11-04 15:00 ` Michal Hocko
2014-11-04 15:00 ` Michal Hocko
2014-11-04 17:46 ` Johannes Weiner
2014-11-04 17:46 ` Johannes Weiner
2014-11-04 16:34 ` David Miller
2014-11-04 16:34 ` David Miller
2014-11-06 18:55 ` Konstantin Khlebnikov
2014-11-06 18:55 ` Konstantin Khlebnikov
2014-11-06 18:55 ` Konstantin Khlebnikov
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=54589017.9060604@jp.fujitsu.com \
--to=kamezawa.hiroyu-+cum20s59erqfuhtdcdx3a@public.gmane.org \
--cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
--cc=hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
--cc=mhocko-AlSwsSmVLrQ@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=vdavydov-bzQdu9zFT3WakBO8gow8eQ@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.