lkml.org 
[lkml]   [2012]   [Sep]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v3 04/13] kmem accounting basic infrastructure
    Hello, Mel.

    On Thu, Sep 27, 2012 at 03:43:07PM +0100, Mel Gorman wrote:
    > > I'm not too convinced. First of all, the overhead added by kmemcg
    > > isn't big.
    >
    > Really?
    >
    > If kmemcg was globally accounted then every __GFP_KMEMCG allocation in
    > the page allocator potentially ends up down in
    > __memcg_kmem_newpage_charge which
    >
    > 1. takes RCU read lock
    > 2. looks up cgroup from task
    > 3. takes a reference count
    > 4. memcg_charge_kmem -> __mem_cgroup_try_charge
    > 5. release reference count
    >
    > That's a *LOT* of work to incur for cgroups that do not care about kernel
    > accounting. This is why I thought it was reasonable that the kmem accounting
    > not be global.

    But that happens only when pages enter and leave slab and if it still
    is significant, we can try to further optimize charging. Given that
    this is only for cases where memcg is already in use and we provide a
    switch to disable it globally, I really don't think this warrants
    implementing fully hierarchy configuration.

    Thanks.

    --
    tejun


    \
     
     \ /
      Last update: 2012-09-27 17:41    [W:3.382 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site