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 06DC3C83F21 for ; Tue, 15 Jul 2025 12:47:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9E0946B00B5; Tue, 15 Jul 2025 08:47:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 96AA86B00B6; Tue, 15 Jul 2025 08:47:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 832186B00B7; Tue, 15 Jul 2025 08:47:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 6CD756B00B5 for ; Tue, 15 Jul 2025 08:47:48 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id CC1C11A048B for ; Tue, 15 Jul 2025 12:47:47 +0000 (UTC) X-FDA: 83666475774.18.662294F Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by imf28.hostedemail.com (Postfix) with ESMTP id E55C3C000A for ; Tue, 15 Jul 2025 12:47:45 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=OnlcXaLd; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf28.hostedemail.com: domain of vannapurve@google.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=vannapurve@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752583666; a=rsa-sha256; cv=none; b=eplvneLuqHDoBP57DQrMH7iG2ZKEZaECoPJGVDQsszwBQ6GrDfqiHG4zyvVQ251MYHfdMn VGPYgZ0JRzzX0gkJkRwl7mdukcsNDhbMWTgrcomlusySPD9CTer3+9fgOcQA6EeesmvPbQ 40puH49j97TiNTgBO0ECGHlpIOrOqkw= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=OnlcXaLd; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf28.hostedemail.com: domain of vannapurve@google.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=vannapurve@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752583666; 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=Aj7ubsCPwZOZJpEqxVz8TbpdGSsesLgcauIRtiEwO7k=; b=BxLnGDjis9Du74RKZ3zShkQyMLNd6Y9JhlVna44E/eiYiyaBa4g77ayjNs+ByfGMtlBnTS j1FNvfQkLclKvb7GHN10k3Cfi0JYHCNs/SFg1tmKIyfLHob7GrT98ngGbPPqD8Jy7zbWYy GBC57Mx9egNRqAzLm+SCv6R215BNDbs= Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-235e389599fso195615ad.0 for ; Tue, 15 Jul 2025 05:47:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1752583665; x=1753188465; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Aj7ubsCPwZOZJpEqxVz8TbpdGSsesLgcauIRtiEwO7k=; b=OnlcXaLdZayshj3Jl4hPIVT+9ELcZZZUEbAXl7ejTobpd8fFYkNbDk1XLUdmgh7E2s cm8IMY0WL5jZH5JYr5AH56BLHBNuQE7J19YDIXFL98qAbOi7AqFWFeGqsSVRgfkQFBHY u97EDXNlH8zg4PuajralUewVptybcKZ7VFLiI08XwfhU/Fwk5HYJaw+T8iKk/SG9C7Ku PkXDRDMYzDvRcM0YBzPSj/3Sn3iHDZ1ANlWj7KI2KlY2t7VOtKgS0EB1ze17S87Rzk+Y jtUDa37KDHPpbFpiEcO+9o7BpSovf2Mi4EWXKVHEHHccnxUDcL3V8s0/oK7Ir9DsnlM4 MgBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752583665; x=1753188465; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Aj7ubsCPwZOZJpEqxVz8TbpdGSsesLgcauIRtiEwO7k=; b=n9qH2PTKqilAXIK6KRFgGWhdlm95a5xLxoL1K+WaF/UUwvReICPiNxvNva6l68NqN5 6phqXPGQ/LjHWVM/SbED/zns/0gKQfKNXg9bY/jtgSrqjq283hyGAGpN9fGzj0inO5sH r7N7YuKGMOZJmbDcU6aCcJWeNCv3chXmm0Kl2Z2muB6ov1EQcm2kHlncwE6d3F/slAeC XA3giFoDsPmi9TK0YMVb1yEFDe70g1GV0O3im8dKQ8VyrsU6Y8e6zILT1R7MaynhjHcW saCOArF+UPTv64U2BdQf/weSa4duMVSHpFaIoyDwhFl7/+5ITOjPrAa96EB21zcPcIGe idUw== X-Forwarded-Encrypted: i=1; AJvYcCXo0Ah1wVTeeTSwmW0kdatsahNFAW27r4HUyEoVe+Z/qB8bZf4nITxv6bheeccALs4i3AUEwWuI6A==@kvack.org X-Gm-Message-State: AOJu0YyWynD0sy2BaBOZKuWHPDjOOXzQNSXC4WWXb+Fh9d55h0m4pfHn SQafweBwiFx/AaXcdKeZNIyHC2W/3WmrKw99xmkUw0EcsX463kvNq3HHwtJDMrZZHEav6hto4+/ /7vShs5pcSM3lZyTIOV1EygWLDG9iUteGhmnYKkAz X-Gm-Gg: ASbGncuxrKgQVCie/cGvE3lyd4Y0Qc9o1LJNXYUqGcpXBhccr+8tPZ5A2W4niQ5Vhve z+OAim43G8bW+25thofEWwCTi1n60zVytZlT6BrOE5tw4POnytfgOFGQoBCDfbiJlcYAwx1dAnG wF+FTD3Bi4UqAaGKcRNMvVJYjJQA8T8NHu/qBBcq6FY6vI1OMoTcGE9dvvzAM3hzNnCvs56Glwf XphfXVkiuWNW3IO1tLQJ6DVUqzABSFPC6N3EPw= X-Google-Smtp-Source: AGHT+IH6FhoFqjhts9hPrxy/0Fq8QGuoieFjS6j7sof9NlS1UqMiOBs9T+m5042HRhsk8TgMmcHFmjT0Kfqpm1cbk+Q= X-Received: by 2002:a17:903:185:b0:234:9f02:e937 with SMTP id d9443c01a7336-23e1b55fab4mr2002615ad.25.1752583664056; Tue, 15 Jul 2025 05:47:44 -0700 (PDT) MIME-Version: 1.0 References: <20250613005400.3694904-1-michael.roth@amd.com> <20250613005400.3694904-2-michael.roth@amd.com> In-Reply-To: <20250613005400.3694904-2-michael.roth@amd.com> From: Vishal Annapurve Date: Tue, 15 Jul 2025 05:47:31 -0700 X-Gm-Features: Ac12FXzMu1OlGDkOTawp9sA6enrjnahYfgISzdZFft1Fez6ANKUKFtOIvoCuXnQ Message-ID: Subject: Re: [PATCH RFC v1 1/5] KVM: guest_memfd: Remove preparation tracking To: Michael Roth Cc: kvm@vger.kernel.org, linux-coco@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, david@redhat.com, tabba@google.com, ackerleytng@google.com, ira.weiny@intel.com, thomas.lendacky@amd.com, pbonzini@redhat.com, seanjc@google.com, vbabka@suse.cz, joro@8bytes.org, pratikrajesh.sampat@amd.com, liam.merwick@oracle.com, yan.y.zhao@intel.com, aik@amd.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: E55C3C000A X-Stat-Signature: doec3g5ipds9mpzznyd7j8c69abdro56 X-HE-Tag: 1752583665-701180 X-HE-Meta: U2FsdGVkX18NZYpoUv5DDH3qbfQhzVNlQ9l10qf6p1g14gqpWDWx/DAvkWxXK+Sso2Qf5hbHoXVM9WpLds64EqBagVzr1FQ/pTOEXNfDxrhzlBFIldasoVF8gBqnw97Aqp3ww6ppGMR+y8dvePQcXYZ8istQhm8JF6qrPKOucVm0f7l/tHmJZckLQxKGdTQQf4QRENH6mBpXrse52C3xSw87yWz4fqitCEFjNB8OcWJ0T3dlZTmamJ1inhFo4QpXfo8Ou2MB1ya1dxsP0cik6pOsZXSufMlSY8Pjhxfs5NdddGA/VNQkxkeRe5yhZNRh1vYNJT3IYgitv9RDqEmNtgswABNZnl20luuG3/QKa8aN1EPgeu7XohqBbQQ9HBdU2VpF/34X1NtHDh97OsjQZGej6t/yyzOPZHWYGTJ0kTdm+qoO0U9tjNIb3GZzUUG+lFwi8Bugo68vjUbyEEyzehyyy4TtpZlpSfkxfbr/R4PTUMobhgRuHTak93IhxzqpWZK6UYfjW3rLAVRpThjLe5YXgduUL1ZDlIcVIbkcBeergfV7GZTdCViDRKSAPsF3X7mctEIaUgrc9RsAy5nDwWNSLXTNkJyJ7IPTjBnGKXSEYR1z8qp1IzKH1Iy4t4/fgNA7sQwKJpJfArc25rw7RU5nFZFdookO0mAgv4EGDni9+BlT5A6XXEJrFNVPI166BNCS4acTVsRW2KGGFlynew9Hv+cqH2JQXcmjYxqVGUGHHxc1rC5KkY3/SVK0APrhORjfp6OyXDtIvwIvBRzwyjh+VcQL9Eo+mUiHA85xgHABKMWgNidD+XOgdG87iGuteugbTyPwwqlPKiXsKAVCdvOF+PNTJk/4On8DCnHcDTDuYbNbEJ1qxlK6k/6uSy6D96CS6wheeli6YHGJ6BovR3/0XAQDOxPK391qF9aWSg74VIgZZOE7jayfrICaH5pQrrcKtTUiL220hoy1jla GHtrxoXX Yk/4jiiJeIcPkLzqTZ8//wEcp2m/EdViVjobYZHLNx3Df4YZ4A/0x8c8uiSRcLbzsiRafg55NL0tl61aPWI5UG3rewE0S4I4luu6NvAEeCWoq0r3qp3jk/OJy7Ro3zDn1wDHpa5NKDhnwUECjPAkwNIwxWwgZY0NNa9/KKfEo6YN25YbfXDG1lm7eE9lORpK0a9EYfRsKEeYY1bkHgoicS8TRUIw20vWtVv++9Z5XKfTXLdKZN0yLW3MXXwsMIKKl+3GeSvGwOfzj61TOAupm/q5IqRQM/JiyP47owdm9rk19HjdvNsrcrFktKg== 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 Thu, Jun 12, 2025 at 5:55=E2=80=AFPM Michael Roth = wrote: > > guest_memfd currently uses the folio uptodate flag to track: > > 1) whether or not a page had been cleared before initial usage > 2) whether or not the architecture hooks have been issued to put the > page in a private state as defined by the architecture > > In practice, 2) is only actually being tracked for SEV-SNP VMs, and > there do not seem to be any plans/reasons that would suggest this will > change in the future, so this additional tracking/complexity is not > really providing any general benefit to guest_memfd users. Future plans > around in-place conversion and hugepage support, where the per-folio > uptodate flag is planned to be used purely to track the initial clearing > of folios, whereas conversion operations could trigger multiple > transitions between 'prepared' and 'unprepared' and thus need separate > tracking, will make the burden of tracking this information within > guest_memfd even more complex, since preparation generally happens > during fault time, on the "read-side" of any global locks that might > protect state tracked by guest_memfd, and so may require more complex > locking schemes to allow for concurrent handling of page faults for > multiple vCPUs where the "preparedness" state tracked by guest_memfd > might need to be updated as part of handling the fault. > > Instead of keeping this current/future complexity within guest_memfd for > what is essentially just SEV-SNP, just drop the tracking for 2) and have > the arch-specific preparation hooks get triggered unconditionally on > every fault so the arch-specific hooks can check the preparation state > directly and decide whether or not a folio still needs additional > preparation. In the case of SEV-SNP, the preparation state is already > checked again via the preparation hooks to avoid double-preparation, so > nothing extra needs to be done to update the handling of things there. > I believe this patch doesn't need to depend on stage1/stage2 and can be sent directly for review on kvm tip, is that right? This update paired with zeroing modifications[1] will make uptodate flag redundant for guest_memfd memory. [1] https://lore.kernel.org/lkml/CAGtprH-+gPN8J_RaEit=3DM_ErHWTmFHeCipC6viT= 6PHhG3ELg6A@mail.gmail.com/