From patchwork Fri Mar 22 08:36:47 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: alexs@kernel.org X-Patchwork-Id: 13599727 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 86F53C54E71 for ; Fri, 22 Mar 2024 08:34:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 15BF66B0087; Fri, 22 Mar 2024 04:34:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0E5306B0089; Fri, 22 Mar 2024 04:34:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EC9AB6B008A; Fri, 22 Mar 2024 04:34:34 -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 D763D6B0087 for ; Fri, 22 Mar 2024 04:34:34 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 6420E1A116B for ; Fri, 22 Mar 2024 08:34:34 +0000 (UTC) X-FDA: 81924013668.28.9193F9F Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf06.hostedemail.com (Postfix) with ESMTP id B877A180018 for ; Fri, 22 Mar 2024 08:34:32 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=rYcGa9mX; spf=pass (imf06.hostedemail.com: domain of alexs@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=alexs@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711096472; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=LQHEjvQohIhYmfR3WZ0QKNZGoTw2C3rDph8+ldFVCMQ=; b=JDMykchvbHruIQOMBe+Y4lTo9jMXxENNG1PI2zQIdHz0KTQvCsuj7bgqsjr5Xbq/m0JPy5 7soJyyA3Tq9huLCj9Q7uBJeL1mx5i2VN2Is+inAIeCkmw81fy8hiRaftY8VDGDD882ukv9 H09kb7ZuLHfbF83VjAKj8K5TEnvmas4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711096472; a=rsa-sha256; cv=none; b=WQ8o2wquaPRxCA6GSZSl0THOkY5gELLLOtwxfj7ck4zrKv6KfoqGjk3OPVm1slmdUoqo4F ixghlEECkhs/rUt0WWOGyRXNWv0ZvapTy+bTf6ltPhK1bPodEw3U4qzZ1OeeZng7oTKDV0 sgBJSHyYKLXwYdTnOCkMgtQQrjPRjWY= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=rYcGa9mX; spf=pass (imf06.hostedemail.com: domain of alexs@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=alexs@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 9A7DB6137F; Fri, 22 Mar 2024 08:34:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7149FC433C7; Fri, 22 Mar 2024 08:34:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711096471; bh=BZayepR+CEi8yM6DRRgla9ll3e+zD9FmiqFSA2KVg2o=; h=From:To:Cc:Subject:Date:From; b=rYcGa9mX0yTT/evSVfcg2Z33lFIs/T8RcTG+wJT277HuOklkjHAVjCt7clvy1ZPRa 3JbgDAIiJw8wxtBaxTfcAvy0TCk08LiBSwczpBPGyaJgUI47cMgbDgkEW8gCpaRHIA cxD+4fnrZGgYx+fGrC39afObm9Xwm00bpziVLi7BLZVrygda9zQTMGyf9ZnT8P2xhU cFE28HYo+TH29j2F/bZqkEsZbTzQGtbCH0bg0zp1y9hVkQVqUMONN0+XvC8b8E88CN mO8DMf8LxVjDgU8+4eQvWtxg0sZC9l3QkYf6/7d9P1Xjxnsq5ll3HtrD7Zwlr+1Tnh AmjinawuKgB1w== From: alexs@kernel.org To: Matthew Wilcox , Andrea Arcangeli , Izik Eidus , david@redhat.com, Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: "Alex Shi (tencent)" Subject: [PATCH v2 00/14] transfer page to folio in KSM Date: Fri, 22 Mar 2024 16:36:47 +0800 Message-ID: <20240322083703.232364-1-alexs@kernel.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Stat-Signature: i3yq3ryj5gte5f6b6867o7bni91dkgur X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: B877A180018 X-Rspam-User: X-HE-Tag: 1711096472-428173 X-HE-Meta: U2FsdGVkX18YKOFfq0GDNV5EBXOhye18COFmGNDP/JLoV6L5eqQU6GZXFT3GftkoDQFB3Z7Zy9gbLY/987xl0u5P2pdx9BotpxFF17+rjG2OPGn7hFMe3UrfVwgtd/ImSOaS3H5Ghr2xg6k0ka4f8H8HvUd7l2iPX2p16GYBw+vG2NuMSbMGhLNBo0+g14i17e1+YrMwBTLNJBq03fKW4NS55c3X5xqCF09T2C1O4kPefGPPnGWgBwYN76icEAk+1zvGuAnV+/sil1g+mCT1nfHnzJVCKXU59pA0i7UxUIc9HouSIDi6R1fkaRMQozLp/DYWHw+TPMnTv1DQfDxxbeyXclWSYOzstj4tPOByTd221LeBTs0V0wbH67DoP1BBJFPtgPfZtStJnn/R3hvLXxXQTAVVHXP9Diojl4Q/eK5Hsc5hpum2oNbZRe/O0B5X+FCJPkiLxpe5rk786LCyT3kSmuMb/srXND4ATkZezP0OpPzKEUoFFkqbFnk4fGKUWF6k3SeND+5Eab4Q2Ag6K568oAOljgPgfIUPjy+n0TMk4SQL8XB/7Fb1i/jDPip69EyuFcg+HOxxUkRD6tlZwSg2T8mMP3hzdjAyJoRTdvO8G7tYcB/HtRLDl1UFijRMG8J3OxVXB5IJ4L43s3/n93Hmt+/t1+KoLrtpUJ/kNsskmV1F3Hp/n6enBYdrJf+yOI+DuFyznfW5eS2vwWp+T1QVNCQfzxIT+OAUlRx3zJQaY3eq6eBimdH6nUaqUUhnzvVkjvnJhYogjfZ317/OGIBC5r3VJRrwBvd92XKUI/559LFSSXR3dNBWJl7wN+p/zwFV/LcuesJEB0kB529egR9/0Tn1FszMz1DAYmqLHz5EMuHGfM/2D8ypc3yQqq+H3LCbOKqQMD3U1aFYbcamz0rw7qD9VZvQIXV3JPdixC8Tcc73k65qFfwpF9oRzZratCoeZYzBV2jGuvU1UJM qb45ilHM PA00vto0FoPE11huPNuoFA/zcao/IfPG9gRKpaz7YwGyBXT+Vw7Yu1JReqCQHvq4S1zXavMPNUBf0/mjY7C+m1/W2kBvvO1UH7KxsfUCsJ+eIQUVTexMcwylqU1XB2iAZ8/4Z45cqKj27RrGa9hBRC5E1nosnXv6tLtVx0dZxlsitOEWXtasfZ3w03oeHv2YTRbaUgzzDeFualn91I6j5NC65z2UdFseCHltAUtAvS1VCoZPMd+IV/otD4sQXNQpMXCa0okWjIE0+AIfj5QgyGHFfRA== 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: List-Subscribe: List-Unsubscribe: From: "Alex Shi (tencent)" This is the first part of page to folio transfer on KSM. Since only single page could be stored in KSM, we could safely transfer stable tree pages to folios. This patchset could reduce ksm.o 81kbytes from 2570760 bytes on latest akpm/mm-stable branch with CONFIG_DEBUG_VM enabled. Alex Shi (tencent) (14): mm/ksm: add ksm_get_folio mm/ksm: use folio in remove_rmap_item_from_tree mm/ksm: add folio_set_stable_node mm/ksm: use folio in remove_stable_node mm/ksm: use folio in stable_node_dup mm/ksm: use ksm_get_folio in scan_get_next_rmap_item mm/ksm: use folio in write_protect_page mm/ksm: Convert chain series funcs to use folio mm/ksm: Convert stable_tree_insert to use folio mm/ksm: Convert stable_tree_search to use folio mm/ksm: return folio for chain series funcs mm/ksm: remove get_ksm_page and related info mm/ksm: use folio_set_stable_node in try_to_merge_one_page mm/ksm: remove set_page_stable_node mm/ksm.c | 259 ++++++++++++++++++++++++++------------------------- mm/migrate.c | 2 +- 2 files changed, 131 insertions(+), 130 deletions(-)