From mboxrd@z Thu Jan 1 00:00:00 1970 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 DC365C282C6 for ; Mon, 3 Mar 2025 20:01:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5D9A96B007B; Mon, 3 Mar 2025 15:01:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 589BF6B0082; Mon, 3 Mar 2025 15:01:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 38E296B0083; Mon, 3 Mar 2025 15:01:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 1B67A6B007B for ; Mon, 3 Mar 2025 15:01:53 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id C4C94161004 for ; Mon, 3 Mar 2025 20:01:52 +0000 (UTC) X-FDA: 83181310464.09.635D754 Received: from YT6PR01CU002.outbound.protection.outlook.com (mail-canadacentralazon11022098.outbound.protection.outlook.com [40.107.193.98]) by imf04.hostedemail.com (Postfix) with ESMTP id 8F94040032 for ; Mon, 3 Mar 2025 20:01:42 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=efficios.com header.s=selector1 header.b=cLLDJfzR; dmarc=pass (policy=none) header.from=efficios.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf04.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 40.107.193.98 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1741032102; a=rsa-sha256; cv=pass; b=RCv/Ae4iUpEY3sBiYflCRhr1JbI6cYUsOkQrs11bP4dPBT8XgCcC0EShoGH+odc9OQ+Ljx 9xjQNsKS7fGUY3K9ZnqPP3ZWRZ1qaIV6AQJvYQ7gDzsuoX5tm9lhjM8RGZBp7nUBvmJL2V 7k9fGakbXlUzHJDR8jRIQG5RV5DZwe4= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=pass header.d=efficios.com header.s=selector1 header.b=cLLDJfzR; dmarc=pass (policy=none) header.from=efficios.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf04.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 40.107.193.98 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741032102; 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:dkim-signature; bh=w8T8FI7QLcP638NME+CebIdTbzuaiiCRM+EtJyKYxR4=; b=l7WRs9XuLlExl/rWn+z3qxQ9iwNIg4hL3dr1iuh+dsfo83vdrcThoHeL5qIleHyb51GlMa IRRJ6TTnAKhXQz9lJfceP42PhHHdrC8+9OcQvudS/OXxbXqaUUU/aPxXUCd6oa6VK0Qegu VVjnKJkJtvCg5csqTBkVpbdHVqJW7Wk= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=diqVRI6dame7obgb3qco1atwofTXIZ9ggwk/CmhiC+boe9qJH6Dy3zlZ7t28XC2mZ/kM3x7ZssZHhrUxxPg7NzHrjK4bAwl1zPAYbxQj+FaOl/guFnLb0UpA0PRvJ32pv7LmhsKZzMqhvzuC6h+P24frsg2rzun1Q+MZatyaVJNGcJJFDXMCxN+hV0HlF9Y2U4JqGFoP/c1yXSJuRjtuypx+DirddkVzSFQTggp5uL2EFwx2lx/3fkRrfs3IFrH+c2VO8mFlkHbbBIpPRdKPrrq3+aaQ9gawjJNBauEoqkF2cUJWNUMG+HkkHyMODD6JcTG2qRkB//s6qaPXckVPjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=w8T8FI7QLcP638NME+CebIdTbzuaiiCRM+EtJyKYxR4=; b=iNrzqWTtFszRqzvxDIrj+huya5YtsRlX+z0Xb4L6UTtkcDJrN2BgCzvkTulZjzq8S0jMvX9398f6WxQbIVeIgk60vWRcEDQT3YGZxfiwj1Bqqhi7A8Tjzz8gSTihCuV1R438j+K+2QF3qqD7p1EED7RPRY/dubbCalQHPsR9sQ7F3tKmOimM8J+hxWJzfvfcqZ2nhq1SQk/bo45CEEASOBWEyhswojcJzr/QjX/gCmqlMqjJxKuUDNxpjPltnRIzlw7BWTEYZRFNVyZS0XqRDeZ6eJd82qotfcyMoQ62+xxMioBUuH9Od9BSb0pRlSX6LQbR8a4dJWKeuznxGmNRlw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=w8T8FI7QLcP638NME+CebIdTbzuaiiCRM+EtJyKYxR4=; b=cLLDJfzRHg1zQTT/Bwv47Lod+1GtTj4kecR+AN4pToYzwE1fIGpeOAhwtqCzArMxW+pHMjTr5ILRlrWp0jGxU/mWXrVUXnqetTOSvRQR73UOs6WwtcCjDRHRRhj/A6P2SsD+13TGUiVqOGhkKJ1AGmZcfmAvR1h+66oNssAe6hrNRdtaTke8CMAeeTSLaYGiBtPFsa9fHEi0hFtHAh+3yJWTwLrqTpWA7ELXw03r6vOJJjksmPGTpcnN3v+VnVFm/UHy6wkFrulS33qA/XNn0KjsTsKEZvZ2R+IzDkbbmo3NS9uiJ2O6HZmailuv6ps1LW/R9kg+plWwy1Eyd9uAaQ== Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:be::5) by YT1PPFCDDFAB0A7.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b08::589) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Mon, 3 Mar 2025 20:01:39 +0000 Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::50f1:2e3f:a5dd:5b4]) by YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::50f1:2e3f:a5dd:5b4%4]) with mapi id 15.20.8489.025; Mon, 3 Mar 2025 20:01:39 +0000 Message-ID: <72810548-b917-49b7-b7ef-043c6b395d31@efficios.com> Date: Mon, 3 Mar 2025 15:01:38 -0500 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH 0/2] SKSM: Synchronous Kernel Samepage Merging To: Peter Xu Cc: Linus Torvalds , Andrew Morton , linux-kernel@vger.kernel.org, Matthew Wilcox , Olivier Dion , linux-mm@kvack.org References: <20250228023043.83726-1-mathieu.desnoyers@efficios.com> <8524caa9-e1f6-4411-b86b-d9457ddb8007@efficios.com> <60f148db-7586-4154-a909-d433bad39794@efficios.com> From: Mathieu Desnoyers Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQZPR01CA0155.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:8c::8) To YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:be::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YT2PR01MB9175:EE_|YT1PPFCDDFAB0A7:EE_ X-MS-Office365-Filtering-Correlation-Id: 8d1d4eaa-fb92-433e-d52b-08dd5a8e35c5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?aEJnNTJtRjR3YkNFK2RhUm5LWVpsblRVU1Jyd1NsQnRFaTVSeldYei9vd2ov?= =?utf-8?B?SlVwOEk3UjM4ODBab2lVR3pnUzBXR0hvMlAweERJTlZpRXE0V2ZsRG5xODcw?= =?utf-8?B?STJQV1pxZ1UrenhvZXI2MWpNQ3IrMnNOLzUxQWlySFkyR2xyZHNkUUVmWWxV?= =?utf-8?B?YWl3V3JvVDBxNGsraXZiN2ZWTUc5OGdsT1RWUVZBME5LMzc0M2FzcDZ4UFVx?= =?utf-8?B?Y1RhZTk0QmZWeUZnemcwR0ZndVJCRGUyUmRvNkswRWZ1YWs3ajljUk93SXlL?= =?utf-8?B?WW5CaUhZTnAyKzdLSVQ4d3c3a2FVZFFuejZEV1ZENk9SZVFoVUlVRHJuc0tw?= =?utf-8?B?OENEM2dXM0pyUUt5bXFkSXlsUXhTeGVjYTQxWmtZTjE5eGZtWnJKejF5MTJs?= =?utf-8?B?amFJVUtYWCsyK01uejVHcU1iTDRKZTJ1WHYzTHE3UkNHUUlOV1p1a0Z2V3hn?= =?utf-8?B?ZlJra25rZWVGOXdDMFNPbHdVQlBZM0t0amJBWWYrblZKc2ZvQUgzL1Rmd20y?= =?utf-8?B?cTNMbkw4bmxsOER1Z1p3TFFHL3lMS1VqNWlWd2xKVXkralFqZHV3UkVGUjFz?= =?utf-8?B?dCtrbFkyU2dGVzhEZmJwam5ZRHRiV1RldUhoUENHcStqc0xiWFJUZHJESUo0?= =?utf-8?B?L0JCV1Q3dE5aWWJrb3Y5b2orVHRiZ0xBbVUvbGx2eDdBTC8wYWROdVRCK3lC?= =?utf-8?B?VThEeTR2Wk9xcVBsSnl1bFpwd0N4V1p4Mm1ON2ZmMHFpV3ZpVGlkVU1WVkhp?= =?utf-8?B?dVduS0RWOFVOdE80VW56OURHMXR5RUljWnkrUHZkbUlvNlhLSFQreElXcnFW?= =?utf-8?B?ZTNaQ055NzNrQUcwNHVSUlNSMnFhNmRKTXZkN0IxWTJJazhBc0JKaGUvMnZK?= =?utf-8?B?SmNaSVhJM0FwZGR6YUpTb0MvajNDd0lxdUNnREZCTVlLeGhFWm5sOUJFMUtI?= =?utf-8?B?UWlNZkdrNWp0ZkVHSzlTS3A0WU9WclNEdDB1R2FtZVZkY2dzVmRZV2VOMCta?= =?utf-8?B?bUNzbHpXNXQzWkpCME9NNldBNTNHbGhlS1JuZmhFQ1dWNURvckxaNmozTFVu?= =?utf-8?B?UFVFWGNkZGdqN1dKQXJ5Ync4ZUY2elhUaUZmZHVqK3Erc2VmTnB2QWF2Wklt?= =?utf-8?B?UFlrWGpjdjdTSUhlVUdodS9LSk9BQnNnTmhZaEdsUXkrdEs5L1ZDaEtUVU5k?= =?utf-8?B?NEp0U2pFS2tBalR5eUpVUjArZUlXZWdqNXhlK3YvL04vNXNkMFVMK1JRaFM1?= =?utf-8?B?RXB1Tk9wNVh0VFBMUmJTNVdlTExXK3hJVkpyM2VxUm1Yd05KYzkrZk1NaGZh?= =?utf-8?B?Sis1QXArWlpRQ0s4cFJORkZYeXFoMUFlVlIyRk42T0ZYZTdTQzlwUFVpeGVL?= =?utf-8?B?b3I0c09jc1RGL3FrTVQxZjZhZk9rK09CZStXZkJ6TUh2NitKU2hGWHMxYUdq?= =?utf-8?B?RFhxdHRwcG45Y0dWTWxyN1VuMElhZFFUTDVLZG1xZDR6SWU3MkI1ekVNVVFw?= =?utf-8?B?Z2tWZ3JDakdsazBQSzlod0JrTGV4UCtlbGtHZ0JnbDgvTlgrUmZaY1ppT2RD?= =?utf-8?B?ai83N1JuQnA3SUNuY1pRVW9FaE5PSUtZZkQvZWp1VW9vbExpQUVMeDk5VDZ0?= =?utf-8?B?elEyR2M0L3RTYnhUZGJQS2FZdFRKZXJ3N3ZQM01SNnIwcTBnZ0gzNHhoK1Zo?= =?utf-8?B?RmdoY1ZRVEJkMjN3R2pNNUZjellKZyszaWNWejZWWitKRy9YNEdJMGxLZ1Az?= =?utf-8?Q?6z8x9IWBSb9FsMSM7eD+/Up6PUiap+Fdtgmcaf0?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dFAyYnFTOHI1alZhZy95ZlpqMnZqZDc4dUJWZHk2WStWZnlxU3hIdW1qbUE1?= =?utf-8?B?Tng5Wk8zejRiR1drYk1EQU1KOEw0NnBVc0dOdHNjU0U2QlErZmZkWlFIRmlx?= =?utf-8?B?ZW4yTk9DRTJpdVdZMmpZTEYvdTdHSGV6d2NrNlRBczBQOFVZam5lSUlyQnZ1?= =?utf-8?B?TDRkTktMUlNFYmgyYTlpSUs3VVh2bTZJcVVSdW9uRE5CV3NZTXVVUy9KcnNM?= =?utf-8?B?WkN1dk1kclArSkg3UTRnYlUxTklvcEtycFVvUDJLR3ZrcldvUGpwcFdDNGt6?= =?utf-8?B?UFpoOVpOL0htQ05XenpEV3RkM0M2UW9kMDJGRnBsSy82WTV0YnJhVVJiWDBY?= =?utf-8?B?eEZPL01ybk93aFc4NEViZHRGTVdBTVR6T05NOFVKVi94UGk1czlVTlJBQWVG?= =?utf-8?B?bGRnNUJ3bGRwZzRubVpIK0FXYWE2c21JL01XTDhVZElvcmtlZm9NeC9JanUz?= =?utf-8?B?VlZ1dTljY3NlOGw2eDF1QTJ4d3M5VVBEbVRJOGZjWndTRzNrOHkyZ3dST2Fu?= =?utf-8?B?N2NyUldLSm9DVjBXcll3dGhzR3p1TER5Vjhpc2NONVF6ekRRdzBCZk1UaE5U?= =?utf-8?B?WmZMc1RBb2RvcFd6VWlmZ1QvdEdSMTZ4T1FQeDNaQkxjOXV1K1VEYm9VWEhD?= =?utf-8?B?NmYzbTVjWFhPYjl3ajMwamkxNDB3TmZTa0dhL1JhVkc5d1dlOTRCUGE4L0ZX?= =?utf-8?B?YW83UVIxZkp1b296Ymx0T2cxbU0yNXd5SGxqNFVYbEF3NGl3ZnU0M1Y3S3lK?= =?utf-8?B?bmsza0czQUJFU3o2b3g5SXRIVnRtelYySDhkUXdPQWlveTEvak9uMkNDY2hJ?= =?utf-8?B?aDVtcVpxMkNzUk5oZXBmcHhpclMrQ0VyeE1LdVNtVlpnMFlmdldwcGhhZitW?= =?utf-8?B?T0hhamQ0QkZhUFE4Q3lpd2w4WWJ5WmhVWkRBYlZzZWorYXNibVcxZVhDVkdS?= =?utf-8?B?a0dMMDFUV3JNL21TMVZVTGIrUlJTMHMzbzk5L3V0TDVZSDA4d0tTdzBEQjVX?= =?utf-8?B?cHhVemZzcGtUbC9rRVZQVDN4UVZWeFpUK3ZicElraGR4WmNJTGxDSS8vUlRu?= =?utf-8?B?djQ3aUNLNm1vNUlmaS85TlFJSHRBbkp2SUpibkNraHRCYUpja1AwWmRHS0FC?= =?utf-8?B?MWlheDJES0lFaWxEa3ZaN1k3b1pxWWFYMzlsdmNPQVhvYWQvQ3RKZ1VVWitp?= =?utf-8?B?ZktxZVQ0MUVCQkliMmpTZm5rMGQ0anRudEtQdll3WldjdDRaLzVWZHovWkIy?= =?utf-8?B?eGJaNmJFREUrbEY5QmZCbUZGWDdUZy9tSEU4Vi9aN09XNWtJQTFzWTRSQXUz?= =?utf-8?B?QXVZSEwvK3dGTzVDSkpyR2pkVTR5blYyU3c3Qi9BTi8zZFFLbm1vdjFDbjV1?= =?utf-8?B?bzBLWXdmREw0ZUd1N3JvcWc5c2tUSlhVeUd6YmdieC9FRDFaa2lHYnd4bGJD?= =?utf-8?B?aC9ZcFQ2aXZCanBwSjNZZWcvZUsvNTREUHlLMSttVUJBa2I0eE9UK1Z3Z0s2?= =?utf-8?B?SlQxdGpHNGRYV2E0MTgvQmh1UUx0M0cyRFVrb2dOc1dsdnAzMmVqdVN0bEt0?= =?utf-8?B?T0oybEllQ0VpdTJYRDcwdEQ2RmM0WHZHMG5Qa1EyMUtLZWRzOFJEbnVpZm5M?= =?utf-8?B?cVJNQkdzcU9Fd3QzSXhLYzl5dXI1cWQ4b01JY3RISWxYWUtUazZVMnVNSWJ4?= =?utf-8?B?eXB0TDE2N2NhME5pczdqTFJrTjZEclNNMHdYNTFHODlRRzJUd242M29TK0FL?= =?utf-8?B?bWhXazJSbVI4aTZudVNIQjlUZHNMdC96RXRPYkhTNWQ3QU5sUTVFenZJbzdC?= =?utf-8?B?eEphT0JweGl2czZUNlJCeVc2OXEyOE9yZWFIMHl2UlJFZ0JzbVljNnpFdGdY?= =?utf-8?B?K2NQMG81c1lScHB6QW1EU0o5ek5qdkU1aEFNUHZkSU9XTkdQOGt4am1RVkVI?= =?utf-8?B?TzNZNWZhYjBaUXZzci9DcnZvR0c2RVBDVVI5TUZ4V2ZqMjFpV29XcVVQN0ho?= =?utf-8?B?bnY0UTRsRFNJK0o1UjBrUVpjTGZaTWFiWnA1WnFSZjVzMTgrRHY2ZSttS2Z5?= =?utf-8?B?U0RYVDlGeGtyYkUvTEg0Y1hUQ3VueXJmazIvdW5XdmtkdTBBdG4vbjVWRDlE?= =?utf-8?B?RUs1REdsbXhUZXZQbVF1NHhaRmlLeWMvNXV5TkRpVXFKaWJBQSthQmIwYld1?= =?utf-8?Q?lKESI45IvXzNeub5uobAFcc=3D?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8d1d4eaa-fb92-433e-d52b-08dd5a8e35c5 X-MS-Exchange-CrossTenant-AuthSource: YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2025 20:01:39.2239 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XtIYg1fNjE/+GnIFksnprGUEj173vangqzBYu3/TWQ8JRw82pqCO4r8/tDoY5dIRHXholQE0TqiY2cme/N8+99ZYzqb3B6pgGo0fpfkphEo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT1PPFCDDFAB0A7 X-Rspamd-Queue-Id: 8F94040032 X-Stat-Signature: drzagywkk7y9tmrouqe43keo44emo5ai X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1741032102-853367 X-HE-Meta: U2FsdGVkX18WuP10ACCk+oE/TbZU28otqMI9rNIsoyYumWSP700N1Wu6cNDUPDx7tlAazeoP9ZZpsuPl4QpsCtMxdX1J05+9cyRfIp7b1/LJ8rDDaeky4NfGg47wnDJ+ApeucPL/aCAGa7LshMAUoIix3ZOXB0SJ3nks0l8jGRxgSzlxZQd8ppVEzy7O+PB09iTvmqOcrIbrbZjyGuiXGqNiISgi49Kcx2nNMC0F0eEmcIdB8NwMTBH/oOwFrKB5NYyMj+CFYdcEfllR0zB55vOxIbHKa2YYGjJVF+KEWFquPIzD1LWhUyReNPaFY8OmNR9bP61uuGbYo27dyHkQvxgZgEyBH5susmS1La6y5fxeyelO0O/lK907qNC16aVsHRNhvjHgpXs6TnBjeZcYbe3AzZHIgK3TB0jcsuL6qk+1x3Yl/F5L5tcGI69DLT+Om0s2tKavBk/9o3ONNy90+3szfFvMiaZYfh+r0MqdMDNG2dwfGG59209p+ABYrB2/Ws7mCkbuiUkyi4c4Xeq6+3D6Kh7UN+aEUGyKPSDRJ86YRoShusJaOskXw1qUc8WqhvXV9G7K5mE/mcmnEmhQ03ODYCPBxF1qiEj4iFd5W266jma9WW7EpNPy0y+0LxfBm2HvMfNTpYlKAmgoCpivlC5C+cyo1c1HGKa39051qmBZgXmCTxU8eN/RQO8dELkl5VSLhB59rYx6VA2K+GaYavYVXJYgML48o868vU2OUjyitFINumRFcPZvINOWUnnane57AkvWHUK1KK8WGhSlSgu4fiRlgQzh0Gr34OC1+Gpg5MaBMYCUZVRIXCPS9xBkN5cVWHjYBlxa4DMaRyy8qCM9zVYidc1xKeVBB46ANQZlzDhPKC+QgzPaCtRpI+wrEPvwEa34TmF2O6r95gq912cIW8RGcx7cnCPdj+Dli/51NmpwVVfu/nmp2UCIkK2kyXgklUDaeOJB2C1zpNb LN4BLQL8 mxqa+y1beOSb2pqpJ35HyUIZwjtTIyMiE+ErpwvMVt1jUyZmBu58Bgkc1Ye2BjT5pjrw/T+bf+uz7irqcR60VoFLC/NQj8ahhsUie1FyD+b6ljX8h64/ff3YR/FUwf/nzEs2b3TtCy11agX+jwxrja1q7SaJ79CM7qWI1fFHWEUzf5ik9KEtvF/Jvsif3OpdYSd19xoBtp98xSIze2JsTIJPcRHbcVqFX3bWpicELgCDHtPB1vprN9DHrW85q+7rjxZLhHaqLAapOW/JupXOW0i0MC5gzBZx4NdEdwI5PZiLTZMNepvXHNO8c6JWXa8HDIlYQ2mjX0Tqh4V882CNN84fHsaYyyUskYwRs/Tq4H6zaiVwSIz+8B0M0996IQR5SO2kaCABeToIVXx6vKJ/kYmQP+TBRYoJg84L42iZcgL75kkmlW7+amFOgeuEBGQs4EujajOZIyv3q4Zesl0NLIRuemIkDzULvG4QtmjyqWeAg4E0wu1wFFtUQ2gk9zOOfErtWIKGY/ZU84AomK/oWNOjXOwOubwqasT9oj5ee5OJlFG6hiYyvHYMHYg== 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: On 2025-02-28 17:32, Peter Xu wrote: > On Fri, Feb 28, 2025 at 12:53:02PM -0500, Mathieu Desnoyers wrote: >> On 2025-02-28 11:32, Peter Xu wrote: >>> On Fri, Feb 28, 2025 at 09:59:00AM -0500, Mathieu Desnoyers wrote: >>>> For the VM use-case, I wonder if we could just add a userfaultfd >>>> "COW" event that would notify userspace when a COW happens ? >>> >>> I don't know what's the best for KSM and how well this will work, but we >>> have such event for years.. See UFFDIO_REGISTER_MODE_WP: >>> >>> https://man7.org/linux/man-pages/man2/userfaultfd.2.html >> >> userfaultfd UFFDIO_REGISTER only seems to work if I pass an address >> resulting from a mmap mapping, but returns EINVAL if I pass a >> page-aligned address which sits within a private file mapping >> (e.g. executable data). > > Yes, so far sync traps only supports RAM-based file systems, or anonymous. > Generic private file mappings (that stores executables and libraries) are > not yet supported. > >> >> Also, I notice that do_wp_page() only calls handle_userfault >> VM_UFFD_WP when vm_fault flags does not have FAULT_FLAG_UNSHARE >> set. > > AFAICT that's expected, unshare should only be set on reads, never writes. > So uffd-wp shouldn't trap any of those. > >> >> AFAIU, as it stands now userfaultfd would not help tracking COW faults >> caused by stores to private file mappings. Am I missing something ? > > I think you're right. So we have UFFD_FEATURE_WP_ASYNC that should work on > most mappings. That one is async, though, so more like soft-dirty. It > might be doable to try making it sync too without a lot of changes based on > how async tracking works. I'm looking more closely at admin-guide/mm/pagemap.rst and it appears to be a good fit. Here is what I have in mind to replace the ksmd scanning thread for the VM use-case by a purely user-space driven scanning: Within qemu or similar user-space process: 1) Track guest memory with the userfaultfd UFFD_FEATURE_WP_ASYNC feature and UFFDIO_REGISTER_MODE_WP mode. 2) Protect user-space memory with the PAGEMAP_SCAN ioctl PM_SCAN_WP_MATCHING flag to detect memory which stays invariant for a long time. 3) Use the PAGEMAP_SCAN ioctl with PAGE_IS_WRITTEN to detect which pages are written to. Keep track of memory which is frequently modified, so it can be left alone and not write-protected nor merged anymore. 4) Whenever pages stay invariant for a given lapse of time, merge them with the new madvise(2) KSM_MERGE behavior. Let me know if that makes sense. Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com