Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751584AbdFGE5e (ORCPT ); Wed, 7 Jun 2017 00:57:34 -0400 Received: from szxga02-in.huawei.com ([45.249.212.188]:6878 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751549AbdFGE5d (ORCPT ); Wed, 7 Jun 2017 00:57:33 -0400 Message-ID: <59378799.1050000@huawei.com> Date: Wed, 7 Jun 2017 12:56:57 +0800 From: zhong jiang User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 MIME-Version: 1.0 To: Minchan Kim CC: , , , , Subject: Re: [PATCH] Revert "mm: vmpressure: fix sending wrong events on underflow" References: <1496804917-7628-1-git-send-email-zhongjiang@huawei.com> <20170607035540.GA5687@bbox> In-Reply-To: <20170607035540.GA5687@bbox> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.177.29.68] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090201.593787B4.0050,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 125e19eb21d50c678643cf299fe95532 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1991 Lines: 58 On 2017/6/7 11:55, Minchan Kim wrote: > 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. we calculate the vmpressue based on the Lru page, exclude the slab pages by previous discussion. is it not this? Thanks zhongjiang >> 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 >> > . >