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 7D611C8303C for ; Tue, 8 Jul 2025 19:59:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 875BD6B0096; Tue, 8 Jul 2025 15:59:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8269B6B0098; Tue, 8 Jul 2025 15:59:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 714FF6B0099; Tue, 8 Jul 2025 15:59:03 -0400 (EDT) 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 61CBA6B0096 for ; Tue, 8 Jul 2025 15:59:03 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 8467910A5BC for ; Tue, 8 Jul 2025 19:59:02 +0000 (UTC) X-FDA: 83642160924.14.63E0C4E Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) by imf12.hostedemail.com (Postfix) with ESMTP id AC0724000D for ; Tue, 8 Jul 2025 19:59:00 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=mzvImEAW; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf12.hostedemail.com: domain of 3gnhtaAYKCHMjVReaTXffXcV.TfdcZelo-ddbmRTb.fiX@flex--seanjc.bounces.google.com designates 209.85.216.74 as permitted sender) smtp.mailfrom=3gnhtaAYKCHMjVReaTXffXcV.TfdcZelo-ddbmRTb.fiX@flex--seanjc.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752004740; 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=bK9rO788tLxJ4WTQcJIR4xppsNUsK51AEUh9HOz+/ZU=; b=bYbekYiVyKLO8JxGzXo6RBDmdC7MQIRN1K07P17tJo7VOtmEs4y4cFtr4tJwNvWgnLM662 WRklx6GNveLCKcRmQ//6b3mkNJMeAcrualk5qfE40ug/7/86Dkx2xwdF1veXeRA6CA+/Qt T9iohg2J5zUv0zpbXjfNLNQcP+S8mvk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752004740; a=rsa-sha256; cv=none; b=ZUJGoS5WuAVoMcvDygV+wArzgZ3gh3iiS82Ten1EoKdCd9ZGa+lhM+j/AoMWphmrxy1FtK qertygZj2DwlhQkTPwqyOaj9nyOfEYHczNu6wYVBQl0RSel6cgEiFXaYsDOXKK/58z+ubd FXM6Ld7N0f98X//U9mdmAXyPFbRtMKI= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=mzvImEAW; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf12.hostedemail.com: domain of 3gnhtaAYKCHMjVReaTXffXcV.TfdcZelo-ddbmRTb.fiX@flex--seanjc.bounces.google.com designates 209.85.216.74 as permitted sender) smtp.mailfrom=3gnhtaAYKCHMjVReaTXffXcV.TfdcZelo-ddbmRTb.fiX@flex--seanjc.bounces.google.com Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-3122368d82bso7266149a91.0 for ; Tue, 08 Jul 2025 12:59:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1752004739; x=1752609539; darn=kvack.org; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:from:to:cc:subject:date:message-id :reply-to; bh=bK9rO788tLxJ4WTQcJIR4xppsNUsK51AEUh9HOz+/ZU=; b=mzvImEAWkTXWTTbUaC1AMj9Dy8G+6/QuKCaIsJcmI3dyg+zbbR49pNP73b73oXbukT 6MfsnK5Qup+lirFL/Obske1b2A3qseh/V1wArOgW7BdlQm6Ni2g2uHCoWPp2xZSPZ6cr IiYaopp4tWoi3TOcyeypfriTg9tSnBE9LCqDXtY8qdLXP80UCY1V9ScjOWwlayzZcjwR rZoa84p5P+7QaYi5+J7beVqrTf3SXz51WAMVgacBun8ju7Zi+B51LBmazHb5rS4Q0GFd Mk380GlkV6WMEFMf2WLeq0fMrlPtqYDH+3jQBCfIYAV64KuqzvdozwehEz+QDrEh73zF 5bdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752004739; x=1752609539; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=bK9rO788tLxJ4WTQcJIR4xppsNUsK51AEUh9HOz+/ZU=; b=BXCTcKu8wi74O9zAr4cqULbx9zifKpiE9Pdrbj571mVkKmPvvjGsa0qc1fNIPHVSxN Xl0LIsDzS661ce5WX9KW3liS1YM37gi4vNBG7nuj1TeswIjGMHTaDWXqqtXqntoK2+ol w//HXQ7z3sIYSjbvqClrOGJ5J5ZM7gI2lKTK73QjGi0PqAdaP48oap8IERxSPQ+ZI5s8 k84pLvktq2t/EXR1nfGMik/9CZgB5DqpS5cWq1dlSfTn8uKy69zHfPCDoaMnmf0+M6M2 jAfiJeBbSN11SCKWV9y9nq4g7qFEUUN1wB3NEf17hQsR3DOoMPQ4mq6E0a+W8KRqdoBT y3SA== X-Forwarded-Encrypted: i=1; AJvYcCWOlBHySYARX4p3opwAQLmm7614r0/b3L0bLPV6XBcm5p5nXaL8de3t7Va9sqwa6imj1vHWAUma8A==@kvack.org X-Gm-Message-State: AOJu0YyFG9GGf+zB4SFXBLRA3GsXguLJ+9YfUpI9cFwr2SXEAFGV+Hd/ YxDxb+nMSnETLinJP8EQ1MnaFEqFco50dIqZ6ljF3ALv8Y5GaQ1d5Hd4d3nSI+9QKchuIFXlpki 3uMzdsA== X-Google-Smtp-Source: AGHT+IFkETqYRl85TaDCY+mhRsKj3yh+DlVRrd5kJgA8yrUlr1VJNZkXzaK8N5MZ0Opd+f6mnf+G32B45Fc= X-Received: from pja6.prod.google.com ([2002:a17:90b:5486:b0:2ff:84e6:b2bd]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:1f83:b0:311:df4b:4b94 with SMTP id 98e67ed59e1d1-31aac432a89mr24009325a91.4.1752004738302; Tue, 08 Jul 2025 12:58:58 -0700 (PDT) Date: Tue, 8 Jul 2025 12:58:56 -0700 In-Reply-To: Mime-Version: 1.0 References: <006899ccedf93f45082390460620753090c01914.camel@intel.com> Message-ID: Subject: Re: [RFC PATCH v2 00/51] 1G page support for guest_memfd From: Sean Christopherson To: Vishal Annapurve Cc: Rick P Edgecombe , "pvorel@suse.cz" , "kvm@vger.kernel.org" , "catalin.marinas@arm.com" , Jun Miao , "nsaenz@amazon.es" , Kirill Shutemov , "pdurrant@amazon.co.uk" , "peterx@redhat.com" , "x86@kernel.org" , "tabba@google.com" , "amoorthy@google.com" , "quic_svaddagi@quicinc.com" , "jack@suse.cz" , "vkuznets@redhat.com" , "quic_eberman@quicinc.com" , "keirf@google.com" , "mail@maciej.szmigiero.name" , "anthony.yznaga@oracle.com" , Wei W Wang , "palmer@dabbelt.com" , "Wieczor-Retman, Maciej" , Yan Y Zhao , "ajones@ventanamicro.com" , "willy@infradead.org" , "paul.walmsley@sifive.com" , Dave Hansen , "aik@amd.com" , "usama.arif@bytedance.com" , "quic_mnalajal@quicinc.com" , "fvdl@google.com" , "rppt@kernel.org" , "quic_cvanscha@quicinc.com" , "maz@kernel.org" , "vbabka@suse.cz" , "anup@brainfault.org" , "thomas.lendacky@amd.com" , "linux-kernel@vger.kernel.org" , "mic@digikod.net" , "oliver.upton@linux.dev" , Fan Du , "akpm@linux-foundation.org" , "steven.price@arm.com" , "muchun.song@linux.dev" , "binbin.wu@linux.intel.com" , Zhiquan1 Li , "rientjes@google.com" , "mpe@ellerman.id.au" , Erdem Aktas , "david@redhat.com" , "jgg@ziepe.ca" , "hughd@google.com" , "jhubbard@nvidia.com" , Haibo1 Xu , Isaku Yamahata , "jthoughton@google.com" , "steven.sistare@oracle.com" , "quic_pheragu@quicinc.com" , "jarkko@kernel.org" , "chenhuacai@kernel.org" , Kai Huang , "shuah@kernel.org" , "bfoster@redhat.com" , "dwmw@amazon.co.uk" , Chao P Peng , "pankaj.gupta@amd.com" , Alexander Graf , "nikunj@amd.com" , "viro@zeniv.linux.org.uk" , "pbonzini@redhat.com" , "yuzenghui@huawei.com" , "jroedel@suse.de" , "suzuki.poulose@arm.com" , "jgowans@amazon.com" , Yilun Xu , "liam.merwick@oracle.com" , "michael.roth@amd.com" , "quic_tsoni@quicinc.com" , Xiaoyao Li , "aou@eecs.berkeley.edu" , Ira Weiny , "richard.weiyang@gmail.com" , "kent.overstreet@linux.dev" , "qperret@google.com" , "dmatlack@google.com" , "james.morse@arm.com" , "brauner@kernel.org" , "roypat@amazon.co.uk" , "linux-fsdevel@vger.kernel.org" , "ackerleytng@google.com" , "pgonda@google.com" , "quic_pderrin@quicinc.com" , "hch@infradead.org" , "will@kernel.org" , "linux-mm@kvack.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: AC0724000D X-Stat-Signature: 7cq4yismctbta4nnocwfyj34efhbx8s3 X-Rspam-User: X-Rspamd-Server: rspam06 X-HE-Tag: 1752004740-174942 X-HE-Meta: U2FsdGVkX1/Se3z/uQ1uTc50yykNMSag4eIJzduVtHn02KeFjsGBeDEGmjabdOKuyGt0bukDAa44vRpWqVfAOp3CJ6p11djnNqRMnrhp+Y2MpbAuSxdLzwe5gsW9BvfbskSKjY5kpaQNxAmykGkWY+UORzDkHphVhg2TfGWhsD+HxWlqf9rvMUnqCrh1l81YyPetsBSvrr4209yR3cd8fRO0n4OIGF1aFjtqPDlsioRc8K5QKSO83RFFRSq6kBqhn5j0mGC1/QCbIPb82opy0Hj5fJkysHYEt5NGo5Z0zJwa6njsvYYz1luc+2cM/HAg9Wuq9trZeBdmfYgrqesIWPb/fe9QmAWRIHfWlb5lqha603R3eR/3pgI/hzCTddWHUS31SQylR47Q00iPkQhJ88KZfzU1xMBSZjL91Gy8OTeFVyi565kgaqKrPUzbt1L/mjYX23UKc7PXt5vZNCfHATyY21Dkk+mSFJK7adsmbHv962awYnKdpRvn9ytQQI9jMUVMuLyaaUWeTPFamiDkaUog3FyV+wCFGhyllOHl4htUaUkTnKScY2i1WeIChUXgjqqRuIArN0Keke6l44iIAei/RUJnkaIHXMoAtmrTzlDNoARVTgF5hNSyuht//BPZZDQxhF9fV2ykpLyrgVcV6EIi9Q81V2+ZcbyQLHrVDSH7xKCNNSkK0U+FoEigySXtumVTvvUN2/U4O9ByVVZprnkCHYQHugnsg7HSts2sYYEU+R+HGPcwTzQgsY+9FbCcUuoQXTUGrojpeAVrbSRGKO3erzVmuIYgW1Clc3fJkyhrss6SiJxNXSyH0j7K5+LoXJutEzZYX2GMCFZNi3urp0kAnDEGg0FYUFREi6ceVf5Xz/LF6ZPrkY+hUNakMn0XWb6+OLQvzMxULApfT4u3x7kHH/djxpO1P8yXBO09KwT4YDys0/fOMHm52ThKYZfc2AucfF647WDQHxtdgaa xc0yQKMM U9CrLWQZIIVOejoqxpta5UBYKbf6MsZZBezIr1ck/5FID2ADeF8gWs7xySOMvH6IpiWXhWCQ1zRbQVA4GlqBLdLBtZXR4rn0LkiCd5DAMPDo4tQrA44HcLwrKn8vQJ4ZqHyh0tDH86GopbvU/TaDz+iHk5GAJAdIYP9/S8dHJwMYOX2A4egWWyr+w/Y99ujjOtud4E5CemL7gAvCwVuqw5LXjU1TAcM/gifsaIQxNEd0iGewpmmNnHMjmFsq+lnxuwDJpsNQ9hhFPxyw9GvFLKDXdalSW433RXCP3raugp8v53UigbkY3O9hFhAi9e/N6HLA5mFv34og/80o2wXRF8FBd+E6oPhgmO7yG9RDdb56fcVT+MPbeSdMMttrPADOdt+2lKyvtHa+VtA59BiM4gJ5jywChWFRz/gDwcbTcJvIaNRWKVMzOjmrEkABGA2xmjLWCl2v5XPUjDso9SRkwhA5C1Jd0vClbPi11AcyVwZAK9D1Aunwl5CLjztrCCbbs37YtWCWLE1zklo6eSWD8MS4PHpQtifz7I/p0M//PRfEBFFqP3wUiWHWfjQDk2Bi4deyNY80FH4Ojr/gLjM0DepKl3AvPnEX/dwrrhr+2WrpDUk4Ruu6xwwBIVceF0NigDnAJWV2CKJLHpk034Rome67U3WpHQGOYEf+c8Y2banUAh9X3NlI5gqMddnmkwReVl/9SitMkeRJIRiRYDWx6gdEvpxCurZBBsBoBtCI5v678UUs= 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 Tue, Jul 08, 2025, Vishal Annapurve wrote: > On Tue, Jul 8, 2025 at 11:03=E2=80=AFAM Sean Christopherson wrote: > Few points that seem important here: > 1) Userspace can and should be able to only dictate if memory contents > need to be preserved on shared to private conversion. No, I was wrong, pKVM has use cases where it's desirable to preserve data o= n private =3D> shared conversions. Side topic, if you're going to use fancy indentation, align the indentation= so it's actually readable. > -> For SNP/TDX VMs: > * Only usecase for preserving contents is initial memory > population, which can be achieved by: > - Userspace converting the ranges to shared, populating th= e contents, > converting them back to private and then calling SNP/TDX= specific > existing ABI functions. > * For runtime conversions, guest_memfd can't ensure memory content= s are > preserved during shared to private conversions as the architectu= res > don't support that behavior. > * So IMO, this "preserve" flag doesn't make sense for SNP/TDX VMs,= even It makes sense, it's just not supported by the architecture *at runtime*. = Case in point, *something* needs to allow preserving data prior to launching the= VM. If we want to go with the PRIVATE =3D> SHARED =3D> FILL =3D> PRIVATE approa= ch for TDX and SNP, then we'll probably want to allow PRESERVE only until the VM image= is finalized. > if we add this flag, today guest_memfd should effectively mark t= his > unsupported based on the backing architecture support. > > 2) For pKVM, if userspace wants to specify a "preserve" flag then this There is no "For pKVM". We are defining uAPI for guest_memfd. I.e. this s= tatement holds true for all implementations: PRESERVE is allowed based on the capabi= lities of the architecture. > So this topic is still orthogonal to "zeroing on private to shared conver= sion". As above, no. pKVM might not expose PRESERVE to _userspace_ since all curr= ent conversions are initiated by the guest, but for guest_memfd itself, this is= all one and the same.