From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751950AbdJELMe (ORCPT ); Thu, 5 Oct 2017 07:12:34 -0400 Received: from mx2.suse.de ([195.135.220.15]:41507 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751755AbdJELMc (ORCPT ); Thu, 5 Oct 2017 07:12:32 -0400 Date: Thu, 5 Oct 2017 13:12:30 +0200 From: Michal Hocko To: Roman Gushchin Cc: Shakeel Butt , Linux MM , Vladimir Davydov , Johannes Weiner , Tetsuo Handa , David Rientjes , Andrew Morton , Tejun Heo , kernel-team@fb.com, Cgroups , linux-doc@vger.kernel.org, LKML Subject: Re: [v10 3/6] mm, oom: cgroup-aware OOM killer Message-ID: <20171005111230.i7am3patptvalcat@dhcp22.suse.cz> References: <20171004154638.710-1-guro@fb.com> <20171004154638.710-4-guro@fb.com> <20171004201524.GA4174@castle> <20171005102707.GA12982@castle.dhcp.TheFacebook.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171005102707.GA12982@castle.dhcp.TheFacebook.com> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu 05-10-17 11:27:07, Roman Gushchin wrote: > On Wed, Oct 04, 2017 at 02:24:26PM -0700, Shakeel Butt wrote: [...] > > Sorry about the confusion. There are two things. First, should we do a > > css_get on the newly selected memcg within the for loop when we still > > have a reference to it? > > We're holding rcu_read_lock, it should be enough. We're bumping css counter > just before releasing rcu lock. yes > > > > Second, for the OFFLINE memcg, you are right oom_evaluate_memcg() will > > return 0 for offlined memcgs. Maybe no need to call > > oom_evaluate_memcg() for offlined memcgs. > > Sounds like a good optimization, which can be done on top of the current > patchset. You could achive this by checking whether a memcg has tasks rather than explicitly checking for children memcgs as I've suggested already. -- Michal Hocko SUSE Labs