lkml.org 
[lkml]   [2010]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH -mm 1/5] quick lookup memcg by ID
    On Tue, 3 Aug 2010 08:52:16 +0530
    Balbir Singh <balbir@linux.vnet.ibm.com> wrote:

    > * KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> [2010-08-02 19:13:04]:
    >
    > > From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    > >
    > > Now, memory cgroup has an ID per cgroup and make use of it at
    > > - hierarchy walk,
    > > - swap recording.
    > >
    > > This patch is for making more use of it. The final purpose is
    > > to replace page_cgroup->mem_cgroup's pointer to an unsigned short.
    > >
    > > This patch caches a pointer of memcg in an array. By this, we
    > > don't have to call css_lookup() which requires radix-hash walk.
    > > This saves some amount of memory footprint at lookup memcg via id.
    > >
    >
    > It is a memory versus speed tradeoff, but if the number of created
    > cgroups is low, it might not be all that slow, besides we do that for
    > swap_cgroup anyway - no?
    >

    In following patch, pc->page_cgroup is changed from pointer to ID.
    Then, this lookup happens in lru_add/del, for example.
    And, by this, we can place all lookup related things to __read_mostly.
    With css_lookup(), we can't do it and have to be afraid of cache
    behavior.

    I hear there are a users who create 2000+ cgroups and considering
    about "low number" user here is not important.
    This patch is a help for getting _stable_ performance even when there are
    many cgroups.

    Thanks,
    -Kame



    \
     
     \ /
      Last update: 2010-08-03 05:29    [W:0.045 / U:151.752 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site