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 BB9ACD78796 for ; Thu, 21 Nov 2024 16:47:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B9836B0085; Thu, 21 Nov 2024 11:47:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 369756B0088; Thu, 21 Nov 2024 11:47:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 258266B0089; Thu, 21 Nov 2024 11:47:09 -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 0A0346B0085 for ; Thu, 21 Nov 2024 11:47:09 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 92C1E1A12D3 for ; Thu, 21 Nov 2024 16:47:08 +0000 (UTC) X-FDA: 82810680456.10.3A120BD Received: from smtp-fw-80007.amazon.com (smtp-fw-80007.amazon.com [99.78.197.218]) by imf14.hostedemail.com (Postfix) with ESMTP id 6FDD810000C for ; Thu, 21 Nov 2024 16:46:07 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=amazon.com header.s=amazon201209 header.b=gzkt8uFq; dmarc=pass (policy=quarantine) header.from=amazon.com; spf=pass (imf14.hostedemail.com: domain of "prvs=0480610f3=kalyazin@amazon.co.uk" designates 99.78.197.218 as permitted sender) smtp.mailfrom="prvs=0480610f3=kalyazin@amazon.co.uk" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732207534; h=from:from:sender:reply-to: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=3rYcatr6xn14OakYphLU6gjqCUo8BfUaPtrhEVfRA6s=; b=KVU03artmTfgy/i7jF5v3sZkqFq7qbfV4TfwDn1dNVebbZV1BF5OJ8LBGry/0BDgwXeGYw 4SEVY+mJnahg9G6gm7wlqUtHAQAFmUjnT+qMHwgfwqar4KSJikFSNtzgsQWkNXB6243+bf zNy5isAZd5xHoGNdfgLHIFLZjMyLGDo= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=amazon.com header.s=amazon201209 header.b=gzkt8uFq; dmarc=pass (policy=quarantine) header.from=amazon.com; spf=pass (imf14.hostedemail.com: domain of "prvs=0480610f3=kalyazin@amazon.co.uk" designates 99.78.197.218 as permitted sender) smtp.mailfrom="prvs=0480610f3=kalyazin@amazon.co.uk" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732207534; a=rsa-sha256; cv=none; b=qUwPcR1WWdGEOuyiEbNcDqmEw3vPOLwRJQVDk/gHAf+Ilte6p/SFB1JUlm3tdkYTPtZwje UQ6SLLxpbTKyopmn94IM7MkQDwihYgM3aFxI+x1LpTrEdwEPjLqkSoW0Yz+EgzH9vwZR1R hZLLHacarkH7rEDeerQBc391c9J5dME= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1732207627; x=1763743627; h=message-id:date:mime-version:reply-to:subject:to:cc: references:from:in-reply-to:content-transfer-encoding; bh=3rYcatr6xn14OakYphLU6gjqCUo8BfUaPtrhEVfRA6s=; b=gzkt8uFqXW149bj7qVtW/Q/bUC9GBghIRgFEX+5Ndttp0x9bplKtAWuE +xI6oAcbct+b6RDecvHLKjAON+noRLP334z51CRm/dYdZ/elzMNVtTETZ uSY31xpMmADq7w2tYaVm70sHtXo4t7JDHVhijqxq6kVMC1PuWb8F9vnJp E=; X-IronPort-AV: E=Sophos;i="6.12,173,1728950400"; d="scan'208";a="354610907" Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO smtpout.prod.us-east-1.prod.farcaster.email.amazon.dev) ([10.25.36.210]) by smtp-border-fw-80007.pdx80.corp.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Nov 2024 16:47:03 +0000 Received: from EX19MTAEUA001.ant.amazon.com [10.0.43.254:42989] by smtpin.naws.eu-west-1.prod.farcaster.email.amazon.dev [10.0.9.62:2525] with esmtp (Farcaster) id 84b57715-564e-4b10-a824-6b676d02ad0e; Thu, 21 Nov 2024 16:47:01 +0000 (UTC) X-Farcaster-Flow-ID: 84b57715-564e-4b10-a824-6b676d02ad0e Received: from EX19D022EUC002.ant.amazon.com (10.252.51.137) by EX19MTAEUA001.ant.amazon.com (10.252.50.223) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1258.34; Thu, 21 Nov 2024 16:47:01 +0000 Received: from [192.168.3.109] (10.106.83.32) by EX19D022EUC002.ant.amazon.com (10.252.51.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1258.34; Thu, 21 Nov 2024 16:47:00 +0000 Message-ID: <8ac0e3e6-5af3-4841-b3ba-ab0458ab355b@amazon.com> Date: Thu, 21 Nov 2024 16:46:55 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Reply-To: Subject: Re: [RFC PATCH 0/4] KVM: ioctl for populating guest_memfd To: David Hildenbrand , , , , , CC: , , , , , , , , , "Sean Christopherson" , References: <20241024095429.54052-1-kalyazin@amazon.com> <08aeaf6e-dc89-413a-86a6-b9772c9b2faf@amazon.com> <01b0a528-bec0-41d7-80f6-8afe213bd56b@redhat.com> <55b6b3ec-eaa8-494b-9bc7-741fe0c3bc63@amazon.com> <9286da7a-9923-4a3b-a769-590e8824fa10@redhat.com> <03a12598-74aa-4202-a79a-668b45dbcc47@amazon.com> <74cbda4a-7820-45a9-a1b2-139da9dae593@redhat.com> Content-Language: en-US From: Nikita Kalyazin Autocrypt: addr=kalyazin@amazon.com; keydata= xjMEY+ZIvRYJKwYBBAHaRw8BAQdA9FwYskD/5BFmiiTgktstviS9svHeszG2JfIkUqjxf+/N JU5pa2l0YSBLYWx5YXppbiA8a2FseWF6aW5AYW1hem9uLmNvbT7CjwQTFggANxYhBGhhGDEy BjLQwD9FsK+SyiCpmmTzBQJj5ki9BQkDwmcAAhsDBAsJCAcFFQgJCgsFFgIDAQAACgkQr5LK IKmaZPOR1wD/UTcn4GbLC39QIwJuWXW0DeLoikxFBYkbhYyZ5CbtrtAA/2/rnR/zKZmyXqJ6 ULlSE8eWA3ywAIOH8jIETF2fCaUCzjgEY+ZIvRIKKwYBBAGXVQEFAQEHQCqd7/nb2tb36vZt ubg1iBLCSDctMlKHsQTp7wCnEc4RAwEIB8J+BBgWCAAmFiEEaGEYMTIGMtDAP0Wwr5LKIKma ZPMFAmPmSL0FCQPCZwACGwwACgkQr5LKIKmaZPNCxAEAxwnrmyqSC63nf6hoCFCfJYQapghC abLV0+PWemntlwEA/RYx8qCWD6zOEn4eYhQAucEwtg6h1PBbeGK94khVMooF In-Reply-To: <74cbda4a-7820-45a9-a1b2-139da9dae593@redhat.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.106.83.32] X-ClientProxiedBy: EX19D003EUB003.ant.amazon.com (10.252.51.36) To EX19D022EUC002.ant.amazon.com (10.252.51.137) X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 6FDD810000C X-Stat-Signature: pw9qqbn4ozh1565t51asxyf88nadxgb1 X-HE-Tag: 1732207567-647675 X-HE-Meta: U2FsdGVkX18FvFv5Y925E63fio+iq/BtgQaSA8GnKADrEREputn5jU6ClskVYoVeaAIJzXOm2LxxRB98VUX2HUSldQX3SPF+vMGevFh0Oy1DAmXx1pPecEVaPUV7uHiNHxudOGyuJdL6QkHHCa3071rksNqVRCVtZbr7dnToSzvGoVMROVH6mUheu193v4VdA9IrOwcPdyDZejQbJzdnrD9SkSVq0EvjurIsqGmCeAK5neDSlBLehkxlZzDO/mu3uWkMB1Ig7tB2+fPWKF5yQqI+Ilkvdx9jrEzQf6tSiKJJuZW+AteGVZN1qu2he4231DYbsy+Gkj1HMLiM4JD9WUqyku3fbybkhSvt5R32mFLNdjWuQT+TbhF9fZjfYzG5bgl81Jsdwvh+tHF5p1trZaqx8HxG4J4Ad42xHM8b+jzXRBOmxHbZMRJfQjaTTTUD1RiMeULCKDoyD607Wxj9Jy2BKqzVc0trYLWdvaQF/u9tD6aHYr9Po2WeaLWgYyfWgS4NUrVk0cMLDvlBHQGDfIFqiPxeT1sns9Y7ZYX37s/iz4oSmX4yvQv8+xezvnfqxVa7efokcYVBxsixeT24TIUVV/xr3ILRijV6zrpYG+Cbxme1dJSh5rgP0zJhCRPetrLBKxcFO9KgX7rIFL5yktvkVB1E4c688yDiU4QD/M6bguaKubBZXSelBJnW+aNOEcIUoExYNTz5L6OtdsxOjyaChptpeVLU1gJof1DbJ7/lP+gIMojChYvP5OXfm0/xvf/u7mFfLpgy8UAwpsWZRPMf2UPm6f1vxEPFmSwbRE+YyMdYZu+/kJ+CvJKGPF4sOfjKhUUL56uxvsg3SrMpQiKjJUffYCol+YkdFFz/3PCzVJLzR8+DYxAa8DwnvTW3isrpoHBCp4b1AnJJIJai0OSWqUS4rubtWBT2R/9ljYLdVMRMzPbrt9AtX19d0HrmYMkCPejRldRtSYuZrht CklIFllF T+CQOFQRO+Ft9ZiwkiMzZ3mviNOjGi36ZLpQr468ggrWGqziBJ+t3TmFe7aGC/PC6SbDrzTtuAX+++xKPG1yVs5dGtRlpa+CU2aoIk9YdmFr3V3kFntWHszEJ+Yvz9bd+fy2fazRA/nXJqzPQvcxezyO9+Hci6muKXAjE9NyVKmNleCnepxHwj1e/tsyu7xlhZ8gfOQK2Y9qG7T5Cqkmxla9PJf2sSPIW6AqV9B9sazo0et38vSXkAK/YJbia5TLiuHYb3tc8DyMDzWkoO5bAy9Zb0Bi89gSNdN412pJNiro+TcYfCX1AMwCWiZZf9iTuQHki59HXpMGJqCY3qmYRFSBGfRPJs2IW0RV5cyfXrqWlsmTGb3FrXnQR854TV+t2r7+GSg8hHEYZwJcavm87/il5/U9RHEZu6rvlznJoGh86ebgE/XSzOHSfrM5WLnzsLvbliAkOMwtddCL+KCxsQ2cmj1/OUWhosfv+6rj02DPUh54/AlcuYGZ8KLl40i/ZCOvSMzJBR8L7Atiu5dFJMLbhmZwrdFPN+JJsQ2t140Kla/0MnINB6EbEoBgiDCpTWP//6s1Sf4JgrQSkIQeZjd8dIQ312XrHYlt7czdTBupxko4a0f7Wzswkwr5bL4xMZNFUvYW75eJJ755oJUuN35al0jrGccuI1dTZh29hmeiTFphw41283uJhdY+CDztoXhyKhmmS6KqP0qiV2T7Kh0SuF1W3yQr/kWpKKgLfB3ZAxC77oXFeoSMpg14+6WIXFhVA6vv1dxec8y1LT0H653miOjeQ3kPlIVyBhydQLgH+ueroCA8mbH7NFw== 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 20/11/2024 18:29, David Hildenbrand wrote: > Any clue how your new ioctl will interact with the WIP to have shared > memory as part of guest_memfd? For example, could it be reasonable to > "populate" the shared memory first (via VMA) and then convert that > "allocated+filled" memory to private? Patrick and I synced internally on this. What may actually work for guest_memfd population is the following. Non-CoCo use case: - fallocate syscall to fill the page cache, no page content initialisation (like it is now) - pwrite syscall to initialise the content + mark up-to-date (mark prepared), no specific preparation logic is required The pwrite will have "once" semantics until a subsequent fallocate(FALLOC_FL_PUNCH_HOLE), ie the next pwrite call will "see" the page is already prepared and return EIO/ENOSPC or something. SEV-SNP use case (no changes): - fallocate as above - KVM_SEV_SNP_LAUNCH_UPDATE to initialise/prepare We don't think fallocate/pwrite have dependencies on current->mm assumptions that Paolo mentioned in [1], so they should be safe to be called on guest_memfd from a non-VMM process. [1]: https://lore.kernel.org/kvm/20241024095429.54052-1-kalyazin@amazon.com/T/#m57498f8e2fde577ad1da948ec74dd2225cd2056c > Makes sense. Best we can do is: > > anon: work only on page tables > shmem/guest_memfd: work only on pageacache > > So at least "only one treelike structure to update". This seems to hold with the above reasoning. > -- > Cheers, > > David / dhildenb