lkml.org 
[lkml]   [2011]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 8/8] mm: memcg: modify PageCgroupCache non-atomically
    On Thu, Nov 24, 2011 at 09:13:28AM +0900, KAMEZAWA Hiroyuki wrote:
    > On Wed, 23 Nov 2011 16:42:31 +0100
    > Johannes Weiner <hannes@cmpxchg.org> wrote:
    >
    > > From: Johannes Weiner <jweiner@redhat.com>
    > >
    > > This bit is protected by lock_page_cgroup(), there is no need for
    > > locked operations when setting and clearing it.
    > >
    > > Signed-off-by: Johannes Weiner <jweiner@redhat.com>
    >
    > Hm. non-atomic ops for pc->flags seems dangerous.
    > How about try to remove PCG_CACHE ? Maybe we can depends on PageAnon(page).
    > We see 'page' on memcg->lru now.
    > I'm sorry I forgot why we needed PCG_CACHE flag..

    The problem is that we charge/uncharged pages that are not fully
    rmapped and so PageAnon() is not reliable. I forgot if there are more
    places, but the commit_charge in migration was a prominent one.

    I have a patch set that reworks migration so to only commit pages that
    are fully rmapped but it clashed with the THP patches and I didn't see
    too much value to fix it up. But I should probably revive it, because
    it makes some things simpler.

    As I replied to Hugh, it might even work for PCG_CACHE, but it's
    definitely dangerous and not worth the complex dependencies it brings
    on other parts of the code, so please consider 7/8 and 8/8 dropped.


    \
     
     \ /
      Last update: 2011-11-24 10:15    [W:0.018 / U:32.096 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site