From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f179.google.com (mail-qt1-f179.google.com [209.85.160.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6EC8522CBC0 for ; Sun, 22 Feb 2026 08:49:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.179 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771750167; cv=none; b=NLaym4nwsTtCzvosT/B4LTZ4sbV3mpXL9eysBZm96ddMS3LEAMTRSESF0IeFuuIi75y4ZzLH8HrbRvuG2T76TlMf0ohwaLD8uWxsrGXPlOdBLlS1GhdMOMRVwCGjf81Bc4LfgVlm0u1Pba/W4UV7KrsPE0kJ5jBsRfJwfmejHgA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771750167; c=relaxed/simple; bh=RBdmtloBdxUpHWxlqKJWGoVvcuaOTpX5GdBn/hyqYaQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RXHKeC6rOrZlZvKNwdsvNl7pyaTJuZLpXvH6k72/gAFJwcmP9zYCnW0Ztyx2u5iAwC8UcKMfiNBRxIwp4L+jAPWnYRWyBqRCEwZprX/In1O5IfG1ol9JrPbBPJ1l9/Pp8fqrWMud2DptZSVOs+sLtrW738tTwp6NeiChCVP01MQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=gourry.net; spf=pass smtp.mailfrom=gourry.net; dkim=pass (2048-bit key) header.d=gourry.net header.i=@gourry.net header.b=jSqP4sHV; arc=none smtp.client-ip=209.85.160.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=gourry.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gourry.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gourry.net header.i=@gourry.net header.b="jSqP4sHV" Received: by mail-qt1-f179.google.com with SMTP id d75a77b69052e-502a789834fso29521731cf.2 for ; Sun, 22 Feb 2026 00:49:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gourry.net; s=google; t=1771750165; x=1772354965; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Qbh2YPrN1iAkzOE6jhFX+vkJxP+0+A7nSYJL8bBT1Dg=; b=jSqP4sHVyxKHeQwa0cDMYZhNTDSnXVNKEtuQxARnmGuWQx5B7R2yj1gEdcs0KbQjHc pYkLTHIIXrOicCCwUZxKjZlh6pktNI+IWOGiM5T8iJcEnUodJYu7tMOoKKMEQ8ZawBEK s+g4ZpqatyOf1yMvnZjz23i2lJaY+yalR3W9cXm5P+6Lyt8pZzOYmROuU7alpODJM3Zf iCF7JICQMS2x+Mi3opCCO/pfeAXf9ng6+8hRFf+0gdG7H7CiYUdNTaNKGdC1dxkp3qDU vyu1Et7B4+TUWB+7YN3RuZ/C2f+xTtDSGuYojtvPAfUokN6fvwNIcfMSC0UyEXU4we2m mN6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771750165; x=1772354965; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Qbh2YPrN1iAkzOE6jhFX+vkJxP+0+A7nSYJL8bBT1Dg=; b=ViTfaFGrtOopLBzPawcIswTvknz8d2voCeiZTLQEw/T6x0DwkwkEm/uKw4V6V9/2yi wXAiARvML6YB6AFY2l4w7tWUhzeedCjDPBsyg5zZYJbXnSwokgCA3VmnMacmzLYx33gD xo36915HXI8805fbttS1wMVvXd3vR4rPwf+TY7GfqGtWynv4L4mRinaAMoCwhA8wPeE2 ciNCiN31bo4YcXSaM5sdrEb2ocKfKBzrhS8ediJelyTu/Z96qy2/zlE4WXjbrBfI6Lr6 ZQbWiylhrydnBKYhPZopbmecAlMHsQl815dpIWpG+ZCSwTVzykK8K+ZJDNb38DzxJ4l6 lo8A== X-Gm-Message-State: AOJu0YyL22bU7Q+Xt4k6apVwFrWp77ETnI+Sbp1rftwHZPSrWYJ8PN3D 06aj7Gwv/2BD+HGTllEgVLYjlgkIuRLjWUT6Jk2WnxJJmdPqo3cCTuK2Nvs4LsJE07Y= X-Gm-Gg: AZuq6aJPFvB6+d32lI0vh1rcgCziLW97jSwiedvgepgTBiULoR774/qeZRVIBHUu9wZ OApgAp4CeSmoGloPGYlF+ovC/dewnFdtp9CfGphFpea6FpOmiAEO/11YQGM2nWyCENNdF6VHmn4 Oz+suefaddb3dEoVHIbsL/pgdUhm2brU3Vxa+o7baf3rQ/7DMnddrAk0TL0TqbPgRdbBKWvJEBi SG1OrLCLAoR2inSN2hFo1u0zA8YNBnznwx2uZagAC6hEBXHxRsbd952FfSqjUYTWAOlsOa9pqJ1 ub3jTbCCr+tlJIWp8FnTBEz+7FY/TNMEYxzChWNSiAjABvOZvwO54EsghP9/vGtwJWPz9IojBx6 /9TrSMXpAU5NeeAbCyyJshlunsXXUOlK2OB7U3bvRZJrdXF/OxTQjp/Btey6DYUKJeGFb3YusM1 x8DTcUk2Zxo3NkMFaYEWAmCbV0InJHSSgPVrV5vYeTEuEtRuky5xK+xQEO53t6YMGVDkfhymaHH GZpk/o+QKoyOwQ= X-Received: by 2002:ac8:5816:0:b0:506:9b96:6280 with SMTP id d75a77b69052e-5070bbe5967mr70651841cf.21.1771750165415; Sun, 22 Feb 2026 00:49:25 -0800 (PST) Received: from gourry-fedora-PF4VCD3F.lan (pool-96-255-20-138.washdc.ftas.verizon.net. [96.255.20.138]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-5070d53f0fcsm38640631cf.9.2026.02.22.00.49.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Feb 2026 00:49:25 -0800 (PST) From: Gregory Price To: lsf-pc@lists.linux-foundation.org Cc: linux-kernel@vger.kernel.org, linux-cxl@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org, damon@lists.linux.dev, kernel-team@meta.com, gregkh@linuxfoundation.org, rafael@kernel.org, dakr@kernel.org, dave@stgolabs.net, jonathan.cameron@huawei.com, dave.jiang@intel.com, alison.schofield@intel.com, vishal.l.verma@intel.com, ira.weiny@intel.com, dan.j.williams@intel.com, longman@redhat.com, akpm@linux-foundation.org, david@kernel.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, mhocko@suse.com, osalvador@suse.de, ziy@nvidia.com, matthew.brost@intel.com, joshua.hahnjy@gmail.com, rakie.kim@sk.com, byungchul@sk.com, gourry@gourry.net, ying.huang@linux.alibaba.com, apopple@nvidia.com, axelrasmussen@google.com, yuanchu@google.com, weixugc@google.com, yury.norov@gmail.com, linux@rasmusvillemoes.dk, mhiramat@kernel.org, mathieu.desnoyers@efficios.com, tj@kernel.org, hannes@cmpxchg.org, mkoutny@suse.com, jackmanb@google.com, sj@kernel.org, baolin.wang@linux.alibaba.com, npache@redhat.com, ryan.roberts@arm.com, dev.jain@arm.com, baohua@kernel.org, lance.yang@linux.dev, muchun.song@linux.dev, xu.xin16@zte.com.cn, chengming.zhou@linux.dev, jannh@google.com, linmiaohe@huawei.com, nao.horiguchi@gmail.com, pfalcato@suse.de, rientjes@google.com, shakeel.butt@linux.dev, riel@surriel.com, harry.yoo@oracle.com, cl@gentwo.org, roman.gushchin@linux.dev, chrisl@kernel.org, kasong@tencent.com, shikemeng@huaweicloud.com, nphamcs@gmail.com, bhe@redhat.com, zhengqi.arch@bytedance.com, terry.bowman@amd.com Subject: [RFC PATCH v4 08/27] mm/ksm: skip KSM for managed-memory folios Date: Sun, 22 Feb 2026 03:48:23 -0500 Message-ID: <20260222084842.1824063-9-gourry@gourry.net> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260222084842.1824063-1-gourry@gourry.net> References: <20260222084842.1824063-1-gourry@gourry.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Private node folios should not participate in KSM merging by default. The driver manages the memory lifecycle and KSM's page sharing can interfere with driver operations. Extend the existing zone_device checks in get_mergeable_page and ksm_next_page_pmd_entry to cover private node folios as well. Signed-off-by: Gregory Price --- mm/ksm.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mm/ksm.c b/mm/ksm.c index 2d89a7c8b4eb..c48e95a6fff9 100644 --- a/mm/ksm.c +++ b/mm/ksm.c @@ -40,6 +40,7 @@ #include #include #include +#include #include #include "internal.h" @@ -808,7 +809,7 @@ static struct page *get_mergeable_page(struct ksm_rmap_item *rmap_item) folio = folio_walk_start(&fw, vma, addr, 0); if (folio) { - if (!folio_is_zone_device(folio) && + if (!folio_is_private_managed(folio) && folio_test_anon(folio)) { folio_get(folio); page = fw.page; @@ -2521,7 +2522,8 @@ static int ksm_next_page_pmd_entry(pmd_t *pmdp, unsigned long addr, unsigned lon goto not_found_unlock; folio = page_folio(page); - if (folio_is_zone_device(folio) || !folio_test_anon(folio)) + if (unlikely(folio_is_private_managed(folio)) || + !folio_test_anon(folio)) goto not_found_unlock; page += ((addr & (PMD_SIZE - 1)) >> PAGE_SHIFT); @@ -2545,7 +2547,8 @@ static int ksm_next_page_pmd_entry(pmd_t *pmdp, unsigned long addr, unsigned lon continue; folio = page_folio(page); - if (folio_is_zone_device(folio) || !folio_test_anon(folio)) + if (unlikely(folio_is_private_managed(folio)) || + !folio_test_anon(folio)) continue; goto found_unlock; } -- 2.53.0