Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751616AbdFGDUU (ORCPT ); Tue, 6 Jun 2017 23:20:20 -0400 Received: from szxga01-in.huawei.com ([45.249.212.187]:7757 "EHLO szxga01-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751498AbdFGDUT (ORCPT ); Tue, 6 Jun 2017 23:20:19 -0400 From: zhongjiang To: CC: , , , , Subject: [PATCH] Revert "mm: vmpressure: fix sending wrong events on underflow" Date: Wed, 7 Jun 2017 11:08:37 +0800 Message-ID: <1496804917-7628-1-git-send-email-zhongjiang@huawei.com> X-Mailer: git-send-email 1.7.12.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.175.102.37] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090202.59376F70.0013,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: b7583bfea5536fcdc9a1fcdd0f06632f Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1404 Lines: 43 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. 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