From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753489AbaIVIYQ (ORCPT ); Mon, 22 Sep 2014 04:24:16 -0400 Received: from mx2.parallels.com ([199.115.105.18]:58223 "EHLO mx2.parallels.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751433AbaIVIYN (ORCPT ); Mon, 22 Sep 2014 04:24:13 -0400 Date: Mon, 22 Sep 2014 12:24:02 +0400 From: Vladimir Davydov To: Johannes Weiner CC: , Michal Hocko , Greg Thelen , Tejun Heo , , Subject: Re: [patch 1/3] mm: memcontrol: take a css reference for each charged page Message-ID: <20140922082402.GA18526@esperanza> References: <1411243235-24680-1-git-send-email-hannes@cmpxchg.org> <1411243235-24680-2-git-send-email-hannes@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1411243235-24680-2-git-send-email-hannes@cmpxchg.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Sep 20, 2014 at 04:00:33PM -0400, Johannes Weiner wrote: > Charges currently pin the css indirectly by playing tricks during > css_offline(): user pages stall the offlining process until all of > them have been reparented, whereas kmemcg acquires a keep-alive > reference if outstanding kernel pages are detected at that point. > > In preparation for removing all this complexity, make the pinning > explicit and acquire a css references for every charged page. > > Signed-off-by: Johannes Weiner Reviewed-by: Vladimir Davydov Nit: In __mem_cgroup_clear_mc, we have the following hunk: > for (i = 0; i < mc.moved_swap; i++) > css_put(&mc.from->css); Now we can simplify it using css_put_many. Thanks, Vladimir