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@xxxxxxxxxxx> wrote: > > > From: Johannes Weiner <jweiner@xxxxxxxxxx> > > > > 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@xxxxxxxxxx> > > 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. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>