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 59E0EC433EF for ; Tue, 21 Dec 2021 15:44:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D06686B0087; Tue, 21 Dec 2021 10:44:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CDE5D6B0089; Tue, 21 Dec 2021 10:44:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B7EF96B008C; Tue, 21 Dec 2021 10:44:47 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0078.hostedemail.com [216.40.44.78]) by kanga.kvack.org (Postfix) with ESMTP id A9C6C6B0087 for ; Tue, 21 Dec 2021 10:44:47 -0500 (EST) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 6BB6F181AC9C6 for ; Tue, 21 Dec 2021 15:44:47 +0000 (UTC) X-FDA: 78942224214.26.1F9425F Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) by imf25.hostedemail.com (Postfix) with ESMTP id 096A8A000A for ; Tue, 21 Dec 2021 15:44:37 +0000 (UTC) Received: by mail-pf1-f173.google.com with SMTP id v11so8931354pfu.2 for ; Tue, 21 Dec 2021 07:44:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=k/JMvwK29hd8F/EfV5XzDRnc59RW8yzi0W84ODXNMgs=; b=AbVrsJdBc5MN3KQC0A9AIyS9IRMdFjbEfvVJtUC3LZIrYXKcfifwgybiMrJ1dzyejd q8YUFb1QM78QNIXTzVIec5gAsnLvo3X4AAG9zJHBWwIwUsGBs7Az4wPXZREawmQ76537 D4yK7omm6pLvt14gmta/yF+uKHmpG3uYwhvqYGCO1YbTfXustV5RYUKJ6USZinlk6B9J dms6mrO1SjUxJjtuiu0tTWEq3XPddVfxNpbBEmbK2Nvq8909cqhkI5e1UBaZoLob+Zff NFQDtXgY+753bzTe2lIKwytRe5IF/iysrdIxwl5Qq0gfzEU22ZxLymbf3FGvWJr/8MfY IGdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=k/JMvwK29hd8F/EfV5XzDRnc59RW8yzi0W84ODXNMgs=; b=ISMPfO0pXyPPTI/LyOZ5/QHRoG8ZMN/ydur1+rIbjF0hn7wiAmAFjIcpB46uFx7tA/ 7swMkYy677RYe/VFivz+KPmGuIs5z/xvVIE1fwwmF7bpj0Abri4GqO6LoJpmrmJo5EU/ 5uoa6LjytOsgYGYWId1C0ZQegkRfbKdCgB1IJxE+oJ8lpXorQKQ5ymYgmn/52AOnPp4j U5jEh5f/2MOeNzTk8kA1UoWCNG7Td2gyw+vHnnYIpTWOPa4Uv1kB0CMOhoqfT2ExGXJB 4PsUEtxXoQAiymx1gp0iLD4+q+b9J7pWx7tezryJ9XlZVzdAkX7qGY76cDLkkZ8oGm3Q uF0Q== X-Gm-Message-State: AOAM5337+/gTfU9GoARErDFQqw+OqWKhmVrxoZhOJAnLw7UbFUVb+oY0 kdA2WNDSwiJpORjzZhJ7DVZ9wg== X-Google-Smtp-Source: ABdhPJxrzNHBFbWmw0xZGAtZ2iGNWlJDv22rYelmdk8vCnJP2iZK3gUwsvnZ7g69hELWZvhhMRjJJA== X-Received: by 2002:a63:8249:: with SMTP id w70mr3516432pgd.274.1640101484781; Tue, 21 Dec 2021 07:44:44 -0800 (PST) Received: from google.com (157.214.185.35.bc.googleusercontent.com. [35.185.214.157]) by smtp.gmail.com with ESMTPSA id s16sm22577607pfu.109.2021.12.21.07.44.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Dec 2021 07:44:44 -0800 (PST) Date: Tue, 21 Dec 2021 15:44:40 +0000 From: Sean Christopherson To: Chao Peng Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, qemu-devel@nongnu.org, Paolo Bonzini , Jonathan Corbet , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , Thomas Gleixner , Ingo Molnar , Borislav Petkov , x86@kernel.org, "H . Peter Anvin" , Hugh Dickins , Jeff Layton , "J . Bruce Fields" , Andrew Morton , Yu Zhang , "Kirill A . Shutemov" , luto@kernel.org, john.ji@intel.com, susie.li@intel.com, jun.nakajima@intel.com, dave.hansen@intel.com, ak@linux.intel.com, david@redhat.com Subject: Re: [PATCH v3 00/15] KVM: mm: fd-based approach for supporting KVM guest private memory Message-ID: References: <20211221151125.19446-1-chao.p.peng@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20211221151125.19446-1-chao.p.peng@linux.intel.com> X-Rspamd-Queue-Id: 096A8A000A X-Stat-Signature: fpurtu4q3aycqw7t4rmz3srtp4x51siz Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=AbVrsJdB; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf25.hostedemail.com: domain of seanjc@google.com designates 209.85.210.173 as permitted sender) smtp.mailfrom=seanjc@google.com X-Rspamd-Server: rspam11 X-HE-Tag: 1640101477-166584 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: On Tue, Dec 21, 2021, Chao Peng wrote: > This is the third version of this series which try to implement the > fd-based KVM guest private memory. ... > Test > ---- > This code has been tested with latest TDX code patches hosted at > (https://github.com/intel/tdx/tree/kvm-upstream) with minimal TDX > adaption and QEMU support. > > Example QEMU command line: > -object tdx-guest,id=tdx \ > -object memory-backend-memfd-private,id=ram1,size=2G \ > -machine q35,kvm-type=tdx,pic=no,kernel_irqchip=split,memory-encryption=tdx,memory-backend=ram1 > > Changelog > ---------- > v3: > - Added locking protection when calling > invalidate_page_range/fallocate callbacks. > - Changed memslot structure to keep use useraddr for shared memory. > - Re-organized F_SEAL_INACCESSIBLE and MEMFD_OPS. > - Added MFD_INACCESSIBLE flag to force F_SEAL_INACCESSIBLE. > - Commit message improvement. > - Many small fixes for comments from the last version. Can you rebase on top of kvm/queue and send a new version? There's a massive overhaul of KVM's memslots code that's queued for 5.17, and the KVM core changes in this series conflict mightily. It's ok if the private memslot support isn't tested exactly as-is, it's not like any of us reviewers can test it anyways, but I would like to be able to apply cleanly and verify that the series doesn't break existing functionality. This version also appears to be based on an internal development branch, e.g. patch 12/15 has some bits from the TDX series. @@ -336,6 +348,7 @@ struct kvm_tdx_exit { #define KVM_EXIT_X86_BUS_LOCK 33 #define KVM_EXIT_XEN 34 #define KVM_EXIT_RISCV_SBI 35 +#define KVM_EXIT_MEMORY_ERROR 36 #define KVM_EXIT_TDX 50 /* dump number to avoid conflict. */ /* For KVM_EXIT_INTERNAL_ERROR */ @@ -554,6 +567,8 @@ struct kvm_run { unsigned long args[6]; unsigned long ret[2]; } riscv_sbi; + /* KVM_EXIT_MEMORY_ERROR */ + struct kvm_memory_exit mem; /* KVM_EXIT_TDX_VMCALL */ struct kvm_tdx_exit tdx; /* Fix the size of the union. */