Received: by 2002:ab2:3350:0:b0:1f4:6588:b3a7 with SMTP id o16csp1856115lqe; Tue, 9 Apr 2024 02:25:30 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXzwdvvO9rmS7yco2hBilJMqO/Sdxz9Ud6f2OESb0DMpMtl3jOUss5EcdU5BWuXQAHM/HKilwFp4QantsvOwf4KUC6Y78d6ko2ZLcQm7g== X-Google-Smtp-Source: AGHT+IHtTtiAVsUw5puJEtrZoYJ7vZC4/Jr4WaAsunrD8Acz/GzsVsGPAzBHgLUaRDWuyMEzC5nd X-Received: by 2002:a50:ab18:0:b0:56d:b687:5a45 with SMTP id s24-20020a50ab18000000b0056db6875a45mr8786937edc.1.1712654730435; Tue, 09 Apr 2024 02:25:30 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712654730; cv=pass; d=google.com; s=arc-20160816; b=fhc+fxrHEMsphwadRvVYyUqLVlpQ6rooB4DyVOghkPgwgQ4ZqucFfVs90f0ZSbzqGV 2sUq6q3kpvavQroJtvhfsOqmsglgTO3RqeuGxHlJdZ+dVRO+gGjmD32btb5s3UIEsf0h +Uf8mih+WMjcudAYLhULrwAscH6xFlzPWPAJzeNEviB17myHc60B1PFGL2paZLXkmytc Nkxj4k51aLt1bb9JjP/R0Gh7eDzKMTikwZEubjMAjcr7FX/V+MOEOh02ki4H2PCT/LU/ 8CPOm6g5aUlxaWXKps+UzCOP5HGH3Ht8yp+QAv7j4QhSXiKKcoceGiKshSre2AnLtp5p CsqQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=p7cnu9WIznwBT4jLOT+wbwwJwW3O/B8XWZP3Hz2fjsI=; fh=dMPHg8w2VkuI+6Cr6VzazgvcNs6eEd6N5LgmAcgQiOI=; b=a5OFjzSMsqpp4NbL5n9ayDDR5Fd54Q9Z2VrqYmzl0c2G1WZ7oqofwxd9gl3TDZobuZ 3v9OHcopDDPw6IIVjoSag5739u6ZH6T9pOcEcFznuB1SH3vW3GRSk0aZOulfJZXjKnYT rxLoa4xrMHYr4r11cNjFFZtZHwiWCKwTxjp4my7M5RfQZMJa8HkSVE9o2bAYRoGK/1n2 MNgWZYUeIak8Mk6S3CgT1t0Lm5d+StCQ7dhuNfS6ee5DDrFEk1BlcuR8KWOS4pMa9od8 y+IoKsGXQvnLv4uCSs6sRH7mMYI1avA4mMlf7Bc8JKxU9MuwyHwCe8uY+PoyiEtvONNa CQww==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=MJek0EN9; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-136552-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-136552-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id j18-20020a05640211d200b0056e7470d8e6si427932edw.173.2024.04.09.02.25.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Apr 2024 02:25:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-136552-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=MJek0EN9; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-136552-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-136552-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 2D3B41F2283D for ; Tue, 9 Apr 2024 09:25:30 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 545F47FBB8; Tue, 9 Apr 2024 09:25:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="MJek0EN9" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7C3CB7F7F8 for ; Tue, 9 Apr 2024 09:25:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712654714; cv=none; b=Eq421KnDMcArita+MSftV1S2cM+YBvpxadpTLdbnZOxsJL71D6V0tkH3NnLkUXnZ+W64NV+qsiP1IOmKW4xGPokv+5Z7UvRP/djgVbTKrNqT8oNbGegQM6fzNV+ghvabirnDjXEWl1nFpwgj18GK2qZ2gKCIXpDmJwXIJKFF9wA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712654714; c=relaxed/simple; bh=2xDuSu2bZaFbHQfV9u0Wk7X0lwP1q8Cg/dxX29fvekw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=jWx324BsHeSP9WWnHSdM1jTP16xbDixOVv4fgs5leVa/BbWyRYORR+BtFVm02r/8vNsv/h9a2PJ3dz5LlheCG7OA5nzlG82/SFpDSEu0ZYGEmehxR667zryGPVMZeoKdPM1FAAv8ajEUZugjdWHbaMjQvCsouifoXY+YedI7w4w= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=MJek0EN9; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5CCB9C433F1; Tue, 9 Apr 2024 09:25:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712654714; bh=2xDuSu2bZaFbHQfV9u0Wk7X0lwP1q8Cg/dxX29fvekw=; h=From:To:Cc:Subject:Date:From; b=MJek0EN91l7r5UXMfQ2gaY/SfZ++QWsTWhwAKvlwbJlC/yB8r1Hk0jR4i4ftKjb7y 1wl3UPPxcyEJzXhTBG8UJozzZRuc84XFgfyIReAUrbGJzalyfVnNHhaDzV7mFGUfOF xDXwokd9YPgfIHdcG0w3HqqB2jik7zjpPNuegaG5j6s69HAfT3GKi6R3/aFl4F8t8x 3fc55kQl78et94d09S9b+R3Diq9SuxKnAIGYZ08V+B/mDpBcqakjI0ud5CbzZcmumy GJsrvntx1L51oi+/d64vt9MsloCI2wxe7CMD2U2ZwObAEqJQldYu7gdbTsevzuxCdn A5cS4lJg476ow== From: alexs@kernel.org To: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: "Alex Shi (tencent)" Subject: [PATCH v4 0/9] transfer page to folio in KSM Date: Tue, 9 Apr 2024 17:28:15 +0800 Message-ID: <20240409092826.1733637-1-alexs@kernel.org> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 57kbytes from 2541776 bytes on latest akpm/mm-stable branch with CONFIG_DEBUG_VM enabled. It pass the KSM testing in LTP and kernel selftest. Thanks for Matthew Wilcox and David Hildenbrand's suggestions and comments! Alex Shi (tencent) (9): 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 and return folios mm/ksm: replace set_page_stable_node by folio_set_stable_node mm/ksm.c | 263 ++++++++++++++++++++++++++------------------------- mm/migrate.c | 2 +- 2 files changed, 134 insertions(+), 131 deletions(-) -- 2.43.0