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 6792CC48260 for ; Thu, 8 Feb 2024 17:29:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D10576B0075; Thu, 8 Feb 2024 12:29:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CC3E16B0078; Thu, 8 Feb 2024 12:29:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B61BA6B007D; Thu, 8 Feb 2024 12:29:21 -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 A474C6B0075 for ; Thu, 8 Feb 2024 12:29:21 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 46B4E1A0F47 for ; Thu, 8 Feb 2024 17:29:21 +0000 (UTC) X-FDA: 81769322922.06.0DBE187 Received: from mail-yb1-f202.google.com (mail-yb1-f202.google.com [209.85.219.202]) by imf25.hostedemail.com (Postfix) with ESMTP id 84B67A0014 for ; Thu, 8 Feb 2024 17:29:19 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=vD1wg7IX; spf=pass (imf25.hostedemail.com: domain of 3bg_FZQYKCNUJ51EA37FF7C5.3FDC9ELO-DDBM13B.FI7@flex--seanjc.bounces.google.com designates 209.85.219.202 as permitted sender) smtp.mailfrom=3bg_FZQYKCNUJ51EA37FF7C5.3FDC9ELO-DDBM13B.FI7@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707413359; a=rsa-sha256; cv=none; b=7YfGkTrzyQEoPrArlVblOSqPRDxzy78YmWbdMqrauVKRNVdNP3iA68JSa17a7EfjoAKluE EPLQlbsluoGrsXhgtQmsFbYlWGVmRMyngLxDvLPvrpTpdO6fy82zvmz7r5RUuf9MwlNjwQ HhERsck8E0NsnBjvZUEv0Rh++ERxM6o= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=vD1wg7IX; spf=pass (imf25.hostedemail.com: domain of 3bg_FZQYKCNUJ51EA37FF7C5.3FDC9ELO-DDBM13B.FI7@flex--seanjc.bounces.google.com designates 209.85.219.202 as permitted sender) smtp.mailfrom=3bg_FZQYKCNUJ51EA37FF7C5.3FDC9ELO-DDBM13B.FI7@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707413359; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6cgRpz8693x11vAqn90eHX9IMRr7lrwTkc2QUZSb++M=; b=zN7Jxr/yp9UpFmbp4tzoXaxM5oySmT8xOWQVls8lvNaNuO+8cRxuFKVRYll3buCdm4KwU5 YI0KZeUqu5oMLLjgm19CM4hLuZs3/skEKlkoTNoCoOXTDJBO80kRJ4ZJ42vqGDKMRwZlK9 GOvuKj45WlhQpRaofoKA0CHzPlCFWmY= Received: by mail-yb1-f202.google.com with SMTP id 3f1490d57ef6-d9a541b720aso70645276.0 for ; Thu, 08 Feb 2024 09:29:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1707413358; x=1708018158; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=6cgRpz8693x11vAqn90eHX9IMRr7lrwTkc2QUZSb++M=; b=vD1wg7IXUzwfNjUdE1/D9lin8Yfk6KLitX6B68IXE4E901EGINMvNBFj8t+PdVQ2eI +Q35EBh10MjZGNCZUiuVBoc7lhkkxilGfkZ2gtIgLhYMXpqvAhzUHgLJgXGwb5oOgEBK XQy1C93UkJ++UvE0/mm8bxbya5k4TbLtaptXF4PqKrkfvyuFEL/FrvrY4YgK4XtCKBbV uWCLgsioBRmbnaKDgOfBzyiDWkCbZLZQYAd6iZG1IxvovFcJT6qjIAHgHTrS8cw7XaFR T3beahRvG1/AhPT06xJN8ZWLGJ88IL8InkQn/lga77dGEWt2YmiqwAJeAa5RCg8d/OzZ rkFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707413358; x=1708018158; h=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=6cgRpz8693x11vAqn90eHX9IMRr7lrwTkc2QUZSb++M=; b=azPLVryH1iuNs39tgdmy8N8r8uFGE3xGO2aXTkRfTDJE1l+zpOopst1JV7CCbiV1RH jXgk7Z26qnZQC8+5B44AtU+lv7Rj1IAng/iKXPZeCQ0LBi/Ndw1EOsT1SBC2ONaihQWd Gkr5GCJchly2gDr5D4H3GPZNIqEftP4uMMLOlBAnoJEzT6pPjKtmwvq2l20XE9n9dUPm iFGZ+C5tLXtKzZUrjjTA5eNO9qbPzEqUYPNXdhiBESftFsP1eEqCV2tGILuPHIpD0Ohj EZYLwlNnlm3iF+zWFt4ILkjObAVJfb0eGBhdL9No3xIeT3iO6HHbn8pTp9UB4QaY6G6c OjnA== X-Forwarded-Encrypted: i=1; AJvYcCUE5heGLl01MSVv8bxRxMYfgbMbzRavOwYYUuzMSzV5+cZzixX4rNpD5HFDjSuvizpcurQrQnTHdWb1euXtXb6KrEM= X-Gm-Message-State: AOJu0YyTOd/nDCxfBojjkC6jVRpIFf1X299+xee7tHEUuEH9Rv7X534H XGcUJFCOM83xLcL9bXKwNvnvuxLSyAwRA5r2GZPu+Gk/JGr8xNZUVI4WSSXFjT2JriR+C1bgS+H bEA== X-Google-Smtp-Source: AGHT+IHvm3H6o6yo8+Vn1cBwz43f6GmzmcO3Z4xZiRVKXYRGzCH9lsIFsssSc9r8mHXp4gU3C6XX9+NehWg= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a05:6902:70b:b0:dc6:55ac:d08d with SMTP id k11-20020a056902070b00b00dc655acd08dmr22497ybt.5.1707413358591; Thu, 08 Feb 2024 09:29:18 -0800 (PST) Date: Thu, 8 Feb 2024 09:29:16 -0800 In-Reply-To: <761a3982-c7a1-40f1-92d8-5c08dad8383a@arm.com> Mime-Version: 1.0 References: <20231016115028.996656-1-michael.roth@amd.com> <20231016115028.996656-4-michael.roth@amd.com> <761a3982-c7a1-40f1-92d8-5c08dad8383a@arm.com> Message-ID: Subject: Re: [PATCH RFC gmem v1 3/8] KVM: x86: Add gmem hook for initializing memory From: Sean Christopherson To: Suzuki K Poulose Cc: Michael Roth , kvm@vger.kernel.org, linux-coco@lists.linux.dev, linux-mm@kvack.org, linux-crypto@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, pbonzini@redhat.com, isaku.yamahata@intel.com, ackerleytng@google.com, vbabka@suse.cz, ashish.kalra@amd.com, nikunj.dadhania@amd.com, jroedel@suse.de, pankaj.gupta@amd.com Content-Type: text/plain; charset="us-ascii" X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 84B67A0014 X-Stat-Signature: ff48t1z1mxr4hsps6mq6spzratfctpuu X-Rspam-User: X-HE-Tag: 1707413359-532427 X-HE-Meta: U2FsdGVkX1/Y/rsF7TBLAH50bMLKHjp01haqJVyQvXBNNtu7JUdWs3Vxj8K+v0pD/Lrm2fsEK9DJgHGgaK2p9+rZAerFWweN28ifze6R4swGKLU9bdRpGqiyqXVLGe64WsGhs9/gCM4FHJSxYTHClAwWfpCf864Rd7m28k2LvoxeJ5sQUnU2z7hx/dCAzm9LqQzFzvfjT3nF5RV9mspyownSjykfnTo+8ThZ9fTkvSjzJuNFiwp0X2wuC421yqiaUkpVamkV6mGladA2lbH1xSUEPEPkOEAWyD/EM62/bQx2E0RinS/wAFBKfFILxdNe2Z5AMZdNKP+sLaEIBQOi3J4cAR6mZD9uoXhy6+eVE38DgKYzce87tMwGPoZID58hpSFxomrbPRu8tx2Q89X8TdW320H0A1xXdj6zfwzIRpFALBzgRUbuxL6BK+MOEiDEYN813LYcrciNQJhPsCmT8Bs4myXHp3va8tudB3Q0woM/Q4LPl8YaAb3kp/cYq+uWyb2v0m0fjvF7HJWt2JNwJX20NbslJWkkNFzWCWLDxDQzVB/P39yEFwjTWuMHPQ6U4q3vw/dP42ep/A1aHfQcI/Cuf2UJfUueCFHyHYO6qGtCBC/TIJz83jCYmpMexk19BKgQ5VtqadABEKwUvMAqoT2AYw2u4eWipgXhOtHMPJTVYc3E5u6rhNmYbP0iTLwFCewCymTXkOZiHVM4unUR7g1lYmRYOhbLfkOvEpVKQ7xNC+DDNwUWRuuvuZ9MVIs9o/EXUVk1ZyjVVxPfmytfbATJ3Ajy6XiF9fJbgiehNJBiKuav7UJLdOH7jumxObKiCXS5VLkdtiChcp8QB9/xOWrOORZ1HxyPqZGgcHfKUVHWRiqzag0fgjhU+uZdBF/1Tyn/h+TAwbGhZb5lmeVSAHuJEGB0rKv79GaUz/3G0H9WEmQ/y0n/6jbwZu+g2QbincaTqLJLx1jTvdi+rnp EU/8eMbG WujmunF+bYciRzySypbXkzUMTCOD+61Kxh5u43rjoZ/jd9U6BbfAV//Q2fxTwHAkAoMShMKR0VJPOA/oEeHsob0hYQVKj+HSa12j3f+8puTCCYBGTsvg5wbcGZNAoUE2uXcdp5kikeF2HgbwBVdVJW2bO04VvdJWKLyt+i26/WDRQ+gDQ7OnXDwg4WUfUMehxf3QwK+gjiNHJmkN9MBSNIWZ8cCBdxkm0a+gMAWLebzSuUrL+btwPsQvv5Q0mlBFX8XPYIi4jND4GvqhVLrfZe4yFxOplFl0D4IzThorH5Vv/Gox49hsmq6jLS9F2AusKTmQCX3RG9xtzBB02nVEekMxkjCDQkgs9KRWKTOxTDQuP/1jS99VxUHrXuiMJTGj/fYfs7qwZuMBtRJHuJpds6kNR8FjhqrggMUmbfqXCKcNYQSh6eVEwLH5/ksOHT8kJOqh7xGhGOc0jpM3orIwseQKy5u+cHHigqmj4jF7VxZIHLlWIzbMfP333cgS8Eu1vbt9oJsTCqneI/2BxavxrLuq/pG9gJhnoqRsavid/cPzOYxzUwPBgK01gU9XtDAmGG3SBFkV0C9orlqE6hE6dWZOMhaOFzAndp+nugo2K6f9Ln/PI3XYMtULWDynJSw5A2esOC1JKfta8slgNn2aFE5rurj4VJQ9P2pPfAMUITJiKeg7ym+1yvHVx1w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000006, 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, Feb 08, 2024, Suzuki K Poulose wrote: > > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > > index 8c5c017ab4e9..c7f82c2f1bcf 100644 > > --- a/include/linux/kvm_host.h > > +++ b/include/linux/kvm_host.h > > @@ -2403,9 +2403,19 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) > > #endif /* CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES */ > > #ifdef CONFIG_KVM_PRIVATE_MEM > > +int __kvm_gmem_get_pfn(struct kvm *kvm, struct kvm_memory_slot *slot, > > + gfn_t gfn, kvm_pfn_t *pfn, int *max_order, bool prep); > > int kvm_gmem_get_pfn(struct kvm *kvm, struct kvm_memory_slot *slot, > > gfn_t gfn, kvm_pfn_t *pfn, int *max_order); > > #else > > +static inline int __kvm_gmem_get_pfn(struct kvm *kvm, > > + struct kvm_memory_slot *slot, gfn_t gfn, > > + kvm_pfn_t *pfn, int *max_order) > > Missing "bool prep" here ? > > minor nit: Do we need to export both __kvm_gmem_get_pfn and kvm_gmem_get_pfn Minor nit on the nit: s/export/expose. My initial reaction was "we should *never* export any of these" :-) > ? I don't see anyone else using the former. > > We could have : > > #ifdef CONFIG_KVM_PRIVATE_MEM > int __kvm_gmem_get_pfn(struct kvm *kvm, struct kvm_memory_slot *slot, > gfn_t gfn, kvm_pfn_t *pfn, int *max_order, bool prep); > #else > static inline int __kvm_gmem_get_pfn(struct kvm *kvm, > struct kvm_memory_slot *slot, gfn_t gfn, > kvm_pfn_t *pfn, int *max_order, > bool prep) > { > KVM_BUG_ON(1, kvm); > return -EIO; > } > #endif > > static inline int kvm_gmem_get_pfn(struct kvm *kvm, > struct kvm_memory_slot *slot, gfn_t gfn, > kvm_pfn_t *pfn, int *max_order) > { > return __kvm_gmem_get_pfn(kvm, slot, gfn, pfn, max_order, true); > } I suspect all of this will be moot. As discussed on the PUCK call[1] and in the SNP enabling series[2], the plan is to have guest_memfd do (or at least initiate) the actual copying into the backing pages, e.g. to guarantee that the pages are in the correct state, that the appropriate locks are held, etc. [1] https://drive.google.com/drive/folders/116YTH1h9yBZmjqeJc03cV4_AhSe-VBkc?resourcekey=0-sOGeFEUi60-znJJmZBsTHQ&usp=drive_link [2] https://lore.kernel.org/all/ZcLuGxZ-w4fPmFxd@google.com