From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967655AbcA1Pzg (ORCPT ); Thu, 28 Jan 2016 10:55:36 -0500 Received: from mail-wm0-f51.google.com ([74.125.82.51]:37051 "EHLO mail-wm0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965872AbcA1Pzd (ORCPT ); Thu, 28 Jan 2016 10:55:33 -0500 Date: Thu, 28 Jan 2016 16:55:31 +0100 From: Michal Hocko To: Vladimir Davydov Cc: Andrew Morton , Johannes Weiner , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] vmpressure: Fix subtree pressure detection Message-ID: <20160128155531.GE15948@dhcp22.suse.cz> References: <1453912137-25473-1-git-send-email-vdavydov@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1453912137-25473-1-git-send-email-vdavydov@virtuozzo.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed 27-01-16 19:28:57, Vladimir Davydov wrote: > When vmpressure is called for the entire subtree under pressure we > mistakenly use vmpressure->scanned instead of vmpressure->tree_scanned > when checking if vmpressure work is to be scheduled. This results in > suppressing all vmpressure events in the legacy cgroup hierarchy. Fix > it. > > Fixes: 8e8ae645249b ("mm: memcontrol: hook up vmpressure to socket pressure") > Signed-off-by: Vladimir Davydov a = b += c made me scratch my head for a second but this looks correct Acked-by: Michal Hocko > --- > mm/vmpressure.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/mm/vmpressure.c b/mm/vmpressure.c > index 9a6c0704211c..149fdf6c5c56 100644 > --- a/mm/vmpressure.c > +++ b/mm/vmpressure.c > @@ -248,9 +248,8 @@ void vmpressure(gfp_t gfp, struct mem_cgroup *memcg, bool tree, > > if (tree) { > spin_lock(&vmpr->sr_lock); > - vmpr->tree_scanned += scanned; > + scanned = vmpr->tree_scanned += scanned; > vmpr->tree_reclaimed += reclaimed; > - scanned = vmpr->scanned; > spin_unlock(&vmpr->sr_lock); > > if (scanned < vmpressure_win) > -- > 2.1.4 -- Michal Hocko SUSE Labs