Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751563AbdFGDzo (ORCPT ); Tue, 6 Jun 2017 23:55:44 -0400 Received: from LGEAMRELO11.lge.com ([156.147.23.51]:35064 "EHLO lgeamrelo11.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751252AbdFGDzn (ORCPT ); Tue, 6 Jun 2017 23:55:43 -0400 X-Original-SENDERIP: 156.147.1.126 X-Original-MAILFROM: minchan@kernel.org X-Original-SENDERIP: 10.177.220.163 X-Original-MAILFROM: minchan@kernel.org Date: Wed, 7 Jun 2017 12:55:40 +0900 From: Minchan Kim To: zhongjiang Cc: akpm@linux-foundation.org, vinayakm.list@gmail.com, mhocko@suse.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] Revert "mm: vmpressure: fix sending wrong events on underflow" Message-ID: <20170607035540.GA5687@bbox> References: <1496804917-7628-1-git-send-email-zhongjiang@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1496804917-7628-1-git-send-email-zhongjiang@huawei.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 Content-Length: 1758 Lines: 52 On Wed, Jun 07, 2017 at 11:08:37AM +0800, zhongjiang wrote: > This reverts commit e1587a4945408faa58d0485002c110eb2454740c. > > THP lru page is reclaimed , THP is split to normal page and loop again. > reclaimed pages should not be bigger than nr_scan. because of each > loop will increase nr_scan counter. Unfortunately, there is still underflow issue caused by slab pages as Vinayak reported in description of e1587a4945408 so we cannot revert. Please correct comment instead of removing the logic. Thanks. > > Signed-off-by: zhongjiang > --- > mm/vmpressure.c | 10 +--------- > 1 file changed, 1 insertion(+), 9 deletions(-) > > diff --git a/mm/vmpressure.c b/mm/vmpressure.c > index 6063581..149fdf6 100644 > --- a/mm/vmpressure.c > +++ b/mm/vmpressure.c > @@ -112,16 +112,9 @@ static enum vmpressure_levels vmpressure_calc_level(unsigned long scanned, > unsigned long reclaimed) > { > unsigned long scale = scanned + reclaimed; > - unsigned long pressure = 0; > + unsigned long pressure; > > /* > - * reclaimed can be greater than scanned in cases > - * like THP, where the scanned is 1 and reclaimed > - * could be 512 > - */ > - if (reclaimed >= scanned) > - goto out; > - /* > * We calculate the ratio (in percents) of how many pages were > * scanned vs. reclaimed in a given time frame (window). Note that > * time is in VM reclaimer's "ticks", i.e. number of pages > @@ -131,7 +124,6 @@ static enum vmpressure_levels vmpressure_calc_level(unsigned long scanned, > pressure = scale - (reclaimed * scale / scanned); > pressure = pressure * 100 / scale; > > -out: > pr_debug("%s: %3lu (s: %lu r: %lu)\n", __func__, pressure, > scanned, reclaimed); > > -- > 1.7.12.4 >