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 4AEB2C54E76 for ; Tue, 17 Jan 2023 17:25:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 942F16B0072; Tue, 17 Jan 2023 12:25:24 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F3256B0075; Tue, 17 Jan 2023 12:25:24 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 793B56B0078; Tue, 17 Jan 2023 12:25:24 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 68CBE6B0072 for ; Tue, 17 Jan 2023 12:25:24 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 070711A08EC for ; Tue, 17 Jan 2023 17:25:24 +0000 (UTC) X-FDA: 80364967368.11.7DB55C5 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by imf25.hostedemail.com (Postfix) with ESMTP id 69308A0017 for ; Tue, 17 Jan 2023 17:25:22 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=fcIljTTh; spf=pass (imf25.hostedemail.com: domain of seanjc@google.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=seanjc@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=1673976322; 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=oPCKpcym2RW5d35rmFIPP7PcNPID9DHF3zaB9zUqfc0=; b=ckg3HtedLUwX0KMFBoH+paCmNFZg9FwlsN9uKngKtHFXcAtio1XmjTZ8XOT2o6+8EMfwoY 5UEdnOXwLdPlN+SBLIN/hETMQ/Nw5XdIywGZORKX8kL/NZnGXnc8mBMyRr7JDmegx+3jF0 DKUvHijzyx+O7Qw5hLY1Csmkv+q1WIo= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=fcIljTTh; spf=pass (imf25.hostedemail.com: domain of seanjc@google.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=seanjc@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673976322; a=rsa-sha256; cv=none; b=cW2lOV31JaoPqRb9QiGTH8vEsnirplNymkZPzSxpTIorRqrvb+QJlk9u7ROgb/9LrN+DJT mMtCAP0CHUNmUPNT0DJ9WUmlJPZbsaeoGnagsdKH+TlqMcZu1fjzTqXlH6qUJYc014S5ZU q4GVcT4tEEP772bfP9hfmGCpKEANR1k= Received: by mail-pj1-f49.google.com with SMTP id z1-20020a17090a66c100b00226f05b9595so19640704pjl.0 for ; Tue, 17 Jan 2023 09:25:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=oPCKpcym2RW5d35rmFIPP7PcNPID9DHF3zaB9zUqfc0=; b=fcIljTThBG4xJap5TcGlXLzzw36TVvznNFdH4K5cV1wgP0TBEN+a0DD1GCYhRROsCO QvjnEf/w+v2arlNJbI9HWsv3aQkGE66ZYpTq2jVV7H8jTKB+jcivNkBG1DLGh2COfKTX pweZYAuWKUG+YbRSPiUyMiUsIhMoDelNa4TCm0Xonr0YcRslVr+wkYXPREIFWc5njYN5 hleDjpP/fD2PR+Pk217/hDlyN417xQoAuBfDpMCd7cMkK5+rXFZvrG6QdKzfXmWAaGuZ MtZaFsL+TjIMHfkIcKjhxx6/QR2rCC95vb8NVwOqOTD6jTRuiCKfm4a07+k8PrsQ0gnu +dNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=oPCKpcym2RW5d35rmFIPP7PcNPID9DHF3zaB9zUqfc0=; b=Jc3qIzDGfbCVaeI3UCAs6etzfhgyfSFgNPaGV0izK0/9K2rSEc5bsNbU01/OVP8OXA g1tk1uX9n65xUfsME8eqB2gyOU+43naHs+NA63fqMBMDm/UdEfZmvCypMj1UeIpQC0cq JzOeptNscDz4jVzp/mXCsBGc+4941hldUW7Q4BSpGxdwiWkZFvAHCvdUWqj/dICho7KN Uo7EQAr1+0+AEqE6FvChQC+01l+k0Bzlyt3IeQQX/yzRgF8tJWDc1p4XPMwwPYjNTuKg 6MQIuNhld7VJ4J0TKJvSMF4aTjnXDFKbcOFbVcR1ugGVLd31Cas00pznSyrAEJrOneUZ kthA== X-Gm-Message-State: AFqh2kqOLjHjKnAb7Tv63JCIzGlu8OH65PnvZl1zfEZc6zBkJ7MmVtFH mwSnikqupS/Cn2S3ng+RQqMhMA== X-Google-Smtp-Source: AMrXdXvUnfK+nwEzio3X173A3OOI+axnR8EWU2P/trlYbT/Eyg2+Qv0Pg0jRmQ5K8mkAb8pmdGJXpw== X-Received: by 2002:a05:6a20:8f02:b0:b8:c646:b0e2 with SMTP id b2-20020a056a208f0200b000b8c646b0e2mr385151pzk.3.1673976320986; Tue, 17 Jan 2023 09:25:20 -0800 (PST) Received: from google.com (7.104.168.34.bc.googleusercontent.com. [34.168.104.7]) by smtp.gmail.com with ESMTPSA id y3-20020a17090a390300b0022960d00017sm4505994pjb.22.2023.01.17.09.25.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jan 2023 09:25:20 -0800 (PST) Date: Tue, 17 Jan 2023 17:25:16 +0000 From: Sean Christopherson To: Chao Peng Cc: Binbin Wu , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-api@vger.kernel.org, linux-doc@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 , Arnd Bergmann , Naoya Horiguchi , Miaohe Lin , x86@kernel.org, "H . Peter Anvin" , Hugh Dickins , Jeff Layton , "J . Bruce Fields" , Andrew Morton , Shuah Khan , Mike Rapoport , Steven Price , "Maciej S . Szmigiero" , Vlastimil Babka , Vishal Annapurve , Yu Zhang , "Kirill A . Shutemov" , luto@kernel.org, jun.nakajima@intel.com, dave.hansen@intel.com, ak@linux.intel.com, david@redhat.com, aarcange@redhat.com, ddutile@redhat.com, dhildenb@redhat.com, Quentin Perret , tabba@google.com, Michael Roth , mhocko@suse.com, wei.w.wang@intel.com Subject: Re: [PATCH v10 2/9] KVM: Introduce per-page memory attributes Message-ID: References: <20221202061347.1070246-1-chao.p.peng@linux.intel.com> <20221202061347.1070246-3-chao.p.peng@linux.intel.com> <20230117133015.GE273037@chaop.bj.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230117133015.GE273037@chaop.bj.intel.com> X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 69308A0017 X-Stat-Signature: agpaotb546zoqg4dfeyis6dpc6exgesm X-HE-Tag: 1673976322-849262 X-HE-Meta: U2FsdGVkX19uwWGFI7V4CRqKmpRrLd4OajHL0v9L7dwKSUrdj5GzNzBub0YFssK6qZK6Vg52lkoEaiu+7GieV5R0fDb/+EP0gJo7LHwCKqJ7uW3h78mkZMIR1NSJJkXlrnaSbn0l8ic1HjkpeuYEFsrahHiFYSV2DnxZj89MHy3lQcd/JU2HhXW+iUaNdiQZgqe0zmsU3cGR3PJ5ICY76gGpfPehSDgPN55ZsjEGN37Pzrj9aG/NCjErBF+Ht94lV+Luf8qenGD+uU+MExFixa7kphq0vsLhMNIdJRFhZuUbwKeqR/qK5H7ZEncx4z9mCbb6qse7G2EUPecuL0ydxHS0VBNZzsLFHZMQM0Kod1gl7fA1sAv85UZQW415qKI3GwCbjr/dOqBJk63wG/IPRSL0Ry023Hv92pwGw2eXOy1YLx/ztLeTDYDjMSIY4XQcT5AkM75AnhGpJJpZV7AYGi/mv1R/OlzuNeYlulzdGAJK7fF+osxwZGYFGDGuIi7eQJuanvvndhP8aZDwMmUDE6ebfH8gzNLhDwLMzKlOc5mZmbUVdmvXsCLKqNzMDXA2TZ7JwtQc/JhIN844XTrRUivbV16d9xCEvRNrl0b7ImudiGJa/RrQZauvIY9wwne7S2wV9DII1cbcNoiXgNyvjCV3pNpQdPQme3le0+lKMeo7H0izM1+siBbjoEsm3Ntfp1W47LLykEQRK4Y2/NIr+11Z71xZIl7nJZX3ZcwpPHSZWc+EO5pV2xzUX/5Z/NipFJJz1KUpwHgguS/QL4PbfAPn/AVxGMRumPJyPB1JP4LYT48pRtBActQQaPlAG2aSMXc6lignEDjfrsaKNUcTJbz2mb9uHufmdqYixtVIvaDW0pcSgs+U/07EU1lLPuzCOMrxPLpvSUOBsCvY1BWOhgFG1HomJoA9UOnZEXntT0FXJllt6dor4JZs/dxQs4hU8GybVcoVmVmXdJDNhMp 7SWFE5oW Mu30XJG/uogfG50ljKqyqu2maBtS8BiunIatdfDJgMYxZFML0aPX+5/kwbKmj8RMWWlrJY2F/GopillRggaUGsvjpqTLjF0fl2rsG 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, Jan 17, 2023, Chao Peng wrote: > On Tue, Jan 17, 2023 at 11:21:10AM +0800, Binbin Wu wrote: > > > > On 12/2/2022 2:13 PM, Chao Peng wrote: > > > In confidential computing usages, whether a page is private or shared is > > > necessary information for KVM to perform operations like page fault > > > handling, page zapping etc. There are other potential use cases for > > > per-page memory attributes, e.g. to make memory read-only (or no-exec, > > > or exec-only, etc.) without having to modify memslots. > > > > > > Introduce two ioctls (advertised by KVM_CAP_MEMORY_ATTRIBUTES) to allow > > > userspace to operate on the per-page memory attributes. > > > - KVM_SET_MEMORY_ATTRIBUTES to set the per-page memory attributes to > > > a guest memory range. > > > - KVM_GET_SUPPORTED_MEMORY_ATTRIBUTES to return the KVM supported > > > memory attributes. > > > > > > KVM internally uses xarray to store the per-page memory attributes. > > > > > > Suggested-by: Sean Christopherson > > > Signed-off-by: Chao Peng > > > Link: https://lore.kernel.org/all/Y2WB48kD0J4VGynX@google.com/ > > > --- > > > Documentation/virt/kvm/api.rst | 63 ++++++++++++++++++++++++++++ > > > arch/x86/kvm/Kconfig | 1 + > > > include/linux/kvm_host.h | 3 ++ > > > include/uapi/linux/kvm.h | 17 ++++++++ > > > > Should the changes introduced in this file also need to be added in > > tools/include/uapi/linux/kvm.h ? > > Yes I think. I'm not sure how Paolo or others feel, but my preference is to never update KVM's uapi headers in tools/ in KVM's tree. Nothing KVM-related in tools/ actually relies on the headers being copied into tools/, e.g. KVM selftests pulls KVM's headers from the .../usr/include/ directory that's populated by `make headers_install`. Perf's tooling is what actually "needs" the headers to be copied into tools/, so my preference is to let the tools/perf maintainers deal with the headache of keeping everything up-to-date. > But I'm hesitate to include in this patch or not. I see many commits sync > kernel kvm.h to tools's copy. Looks that is done periodically and with a > 'pull' model.