Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp1395959pxv; Sat, 10 Jul 2021 03:04:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxkttK/u32CKMTMYDekQV5wc1tFty6bwxxx6dLivPfJySft38LDBMgzbatiXohH9qnyEcHW X-Received: by 2002:a05:6402:204:: with SMTP id t4mr52652838edv.34.1625911496348; Sat, 10 Jul 2021 03:04:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625911496; cv=none; d=google.com; s=arc-20160816; b=sR7b3lSYWcUtOeNhcmvK4AzELTlkz/SKZsoW166SKnfCB0pZ0OTGZdWzsma2Pz2Mit 2KUAcW4EipsYO33P0pxt/jdOntdd3X0QZ1RfL67dx9KoBHLQbbjcuF0YYd71+Yg7hZBw J5075bFHkehaXDlgUZ/6I3t1+OE/SoHrKtHCxC0MGhuC54YYR/lF0hGh8Pd6aFGWqoO+ KQZ//8T51yyiP3i67Fe2xTrZHkoMi1mnjy0kMPK8uxZ7JdAVxfd/MC/eNcmP91apm/96 9bVuwZemb8CuQwW4QinmNH3BzDur/gDuylZ/RvDFj/62bMtaR484C8iGUlQMGGIWv9Jz rVkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=4GNZ7tuTscPhJ+uwt9R5eRJ3v9QvqKjrASOCa+bjoVw=; b=wYuJw+DTZBC5BEthbkZKZrasEnROlWZ5xcIkTEZfrzJigsPaiGuZGh1nm47XCc0BAS jJxw8hmwsH2LjBJUTadqAkACV3VSMGo1keYPoNtne/m9ipNLL0R20jE2yzpWwl8SRwjU +CweDyhWWxZXQcHmHyUCwhUjfxyi4Gb6UfFpSspld4A470lY2vgyeNygfnbG0Oyb5/Vq ToMgi8w0T4JT/ytlLdZUru6yQyjGqpZk0CVBSTp08GtRk1dPA6X5EZNvg8bWQAScjDmf 3e/O32CQ5dMhnz4cFH/0LyfwFmc/HkLCjnet1R56W07t5982QqviasT5z0uHYBsFRpDN /1tQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 5si10437802ejq.621.2021.07.10.03.04.26; Sat, 10 Jul 2021 03:04:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232532AbhGJKGJ (ORCPT + 99 others); Sat, 10 Jul 2021 06:06:09 -0400 Received: from szxga02-in.huawei.com ([45.249.212.188]:10462 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232311AbhGJKGF (ORCPT ); Sat, 10 Jul 2021 06:06:05 -0400 Received: from dggeme703-chm.china.huawei.com (unknown [172.30.72.54]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4GMQW852kdzcbC7; Sat, 10 Jul 2021 18:00:04 +0800 (CST) Received: from huawei.com (10.175.124.27) by dggeme703-chm.china.huawei.com (10.1.199.99) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Sat, 10 Jul 2021 18:03:18 +0800 From: Miaohe Lin To: CC: , , , , , , , , , , , , , , Subject: [PATCH 1/5] mm/vmscan: put the redirtied MADV_FREE pages back to anonymous LRU list Date: Sat, 10 Jul 2021 18:03:25 +0800 Message-ID: <20210710100329.49174-2-linmiaohe@huawei.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20210710100329.49174-1-linmiaohe@huawei.com> References: <20210710100329.49174-1-linmiaohe@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.175.124.27] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To dggeme703-chm.china.huawei.com (10.1.199.99) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If the MADV_FREE pages are redirtied before they could be reclaimed, put the pages back to anonymous LRU list by setting SwapBacked flag and the pages will be reclaimed in normal swapout way. Otherwise MADV_FREE pages won't be reclaimed as expected. Fixes: 802a3a92ad7a ("mm: reclaim MADV_FREE pages") Signed-off-by: Miaohe Lin --- mm/vmscan.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/vmscan.c b/mm/vmscan.c index a7602f71ec04..6483fe0e2065 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1628,6 +1628,7 @@ static unsigned int shrink_page_list(struct list_head *page_list, if (!page_ref_freeze(page, 1)) goto keep_locked; if (PageDirty(page)) { + SetPageSwapBacked(page); page_ref_unfreeze(page, 1); goto keep_locked; } -- 2.23.0