lkml.org 
[lkml]   [2014]   [Nov]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 1/3] mm: embed the memcg pointer directly into struct page
    On Tue, Nov 04, 2014 at 04:00:39PM +0100, Michal Hocko wrote:
    > On Tue 04-11-14 09:09:37, Johannes Weiner wrote:
    > > On Tue, Nov 04, 2014 at 02:41:10PM +0100, Michal Hocko wrote:
    > > > On Tue 04-11-14 08:27:01, Johannes Weiner wrote:
    > > > > From: Johannes Weiner <hannes@cmpxchg.org>
    > > > > Subject: [patch] mm: move page->mem_cgroup bad page handling into generic code fix
    > > > >
    > > > > Remove obsolete memory saving recommendations from the MEMCG Kconfig
    > > > > help text.
    > > >
    > > > The memory overhead is still there. So I do not think it is good to
    > > > remove the message altogether. The current overhead might be 4 or 8B
    > > > depending on the configuration. What about
    > > > "
    > > > Note that setting this option might increase fixed memory
    > > > overhead associated with each page descriptor in the system.
    > > > The memory overhead depends on the architecture and other
    > > > configuration options which have influence on the size and
    > > > alignment on the page descriptor (struct page). Namely
    > > > CONFIG_SLUB has a requirement for page alignment to two words
    > > > which in turn means that 64b systems might not see any memory
    > > > overhead as the additional data fits into alignment. On the
    > > > other hand 32b systems might see 8B memory overhead.
    > > > "
    > >
    > > What difference does it make whether this feature maybe costs an extra
    > > pointer per page or not? These texts are supposed to help decide with
    > > the selection, but this is not a "good to have, if affordable" type of
    > > runtime debugging option. You either need cgroup memory accounting
    > > and limiting or not. There is no possible trade-off to be had.
    >
    > If you are compiling the kernel for your specific usecase then it
    > is clear. You enable only what you really need/want. But if you are
    > providing a pre-built kernel and considering which features to enable
    > then an information about overhead might be useful. You can simply
    > disable the feature for memory restricted kernel flavors.
    >
    > > Slub and numa balancing don't mention this, either, simply because
    > > this cost is negligible or irrelevant when it comes to these knobs.
    >
    > I agree that the overhead seems negligible but does it hurt us to
    > mention it though?

    Yes, it's fairly misleading. What about the instructions it adds to
    the fault hotpaths? The additional memory footprint of each cgroup
    created? You're adding 9 lines to point out one specific cost aspect,
    when the entire feature is otherwise summed up in two lines. The
    per-page overhead of memcg is not exceptional or unexpected if you
    know what it does - which you should when you enable it, even as a
    distributor - and such a gross overrepresentation in the help text is
    more confusing than helpful.


    \
     
     \ /
      Last update: 2014-11-04 19:01    [W:6.610 / U:0.080 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site