From patchwork Mon Jul 4 13:21:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miaohe Lin X-Patchwork-Id: 12905365 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9A99ECCA479 for ; Mon, 4 Jul 2022 13:22:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 22AC76B0083; Mon, 4 Jul 2022 09:22:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 13E0B6B0085; Mon, 4 Jul 2022 09:22:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E5C7C6B0087; Mon, 4 Jul 2022 09:22:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id CF69B6B0085 for ; Mon, 4 Jul 2022 09:22:20 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A83622100D for ; Mon, 4 Jul 2022 13:22:20 +0000 (UTC) X-FDA: 79649481240.23.0CDFFC2 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by imf08.hostedemail.com (Postfix) with ESMTP id 09DDD16000A for ; Mon, 4 Jul 2022 13:22:19 +0000 (UTC) Received: from canpemm500002.china.huawei.com (unknown [172.30.72.53]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4Lc5z71SYCzkX8p; Mon, 4 Jul 2022 21:20:51 +0800 (CST) Received: from huawei.com (10.175.124.27) by canpemm500002.china.huawei.com (7.192.104.244) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Mon, 4 Jul 2022 21:22:15 +0800 From: Miaohe Lin To: CC: , , , , , , Subject: [PATCH v3 11/16] mm/huge_memory: try to free subpage in swapcache when possible Date: Mon, 4 Jul 2022 21:21:56 +0800 Message-ID: <20220704132201.14611-12-linmiaohe@huawei.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20220704132201.14611-1-linmiaohe@huawei.com> References: <20220704132201.14611-1-linmiaohe@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.175.124.27] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To canpemm500002.china.huawei.com (7.192.104.244) X-CFilter-Loop: Reflected ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1656940940; a=rsa-sha256; cv=none; b=NNgzhg3nh9iPppxQYq0PIhTgtesviMF2DK9e1VxLNuJFfGyAOFQkxdfJcASx0ygPqfbcaS t4FxGsiVu2HC+7VyVj7UdlskILOz80Rih7b0krtdOaK1lD2RZ2bti9Di2raKHWNh+TcYpo 56rck79OHxsb7RdRnCD/QciAd/34y9U= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf08.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1656940940; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GwLmuttF18tNetPdbUrclurgxEq6eU/8FRplWHx6BPw=; b=yadOloHYnRQwA3TT4cDraRbuoyFNZLCBiWocmoG+3TxZwzIkvDmD2sCMEcy7oKN/jUjRQE g4DlLXlNseeaxvsptpfzD/AknoZNh8qqaemC+dM6RjugXk87v+Uf2GVvpKkR3uwHWl2Ury PvqYNtQhJEVGXWhHl/AVK2Uo1u6vRIw= X-Rspam-User: X-Rspamd-Server: rspam07 Authentication-Results: imf08.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf08.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com X-Stat-Signature: ndk97eu8zaqt9gmdyd9rdaofzjyau44q X-Rspamd-Queue-Id: 09DDD16000A X-HE-Tag: 1656940939-531237 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Subpages in swapcache won't be freed even if it is the last user of the page until next time reclaim. It shouldn't hurt indeed, but we could try to free these pages to save more memory for system. Signed-off-by: Miaohe Lin --- mm/huge_memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 8a40dc8edb7a..6d95751ebfc9 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -2643,7 +2643,7 @@ static void __split_huge_page(struct page *page, struct list_head *list, * requires taking the lru_lock so we do the put_page * of the tail pages after the split is complete. */ - put_page(subpage); + free_page_and_swap_cache(subpage); } }