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 ABFBBC61DA4 for ; Fri, 10 Feb 2023 00:35:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 102C96B00BE; Thu, 9 Feb 2023 19:35:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0B31B6B00BF; Thu, 9 Feb 2023 19:35:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E957D6B00C0; Thu, 9 Feb 2023 19:35:38 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id DA2B56B00BE for ; Thu, 9 Feb 2023 19:35:38 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 98358C104E for ; Fri, 10 Feb 2023 00:35:38 +0000 (UTC) X-FDA: 80449513956.26.0483646 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf27.hostedemail.com (Postfix) with ESMTP id C7CF940009 for ; Fri, 10 Feb 2023 00:35:36 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="n02O/fL0"; spf=pass (imf27.hostedemail.com: domain of seanjc@google.com designates 209.85.214.180 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=1675989336; 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=W7YPU86kRh43fh/B9xA9EKXQH40cZnkadx8AsjXbI3M=; b=hDQMHFeL75hB7o186N4rLWVsP5tTtSeC2alWkhtjOzPi3uXirLD40v8jkjIBPJ5NcSblxx TVKNP4bSKcRxyPgzTqi2sKsCtVzhu7n5grV1vdje/Ea3Rn44nLVX/yAKFCTChz64ezPFYh 9OqQHkTqSVSBtwEtw1UkQkteMD7kbiI= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b="n02O/fL0"; spf=pass (imf27.hostedemail.com: domain of seanjc@google.com designates 209.85.214.180 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=1675989336; a=rsa-sha256; cv=none; b=asYDexaUZmP2HTSxYd9r7d7qaQYDmRV/ge0dH3uhdxQTqKBLPeQAqonz75LXvQ8wvIJfQX VnzVEajXRcgltp0oe1dTT0W3A5YFInIS7hA687Nj1MYYks2yidhDPcYQSvZ6WoV3PU74Ah nBlxlsekGAzQui2rzISdf6VD6hvkj1I= Received: by mail-pl1-f180.google.com with SMTP id w5so4809922plg.8 for ; Thu, 09 Feb 2023 16:35:36 -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=W7YPU86kRh43fh/B9xA9EKXQH40cZnkadx8AsjXbI3M=; b=n02O/fL0+7AmXTmeiZ+eZ9d5ZT/GiXiS4usm8YWkyYIOPv66XejcWTG/tLJzS4ejkM ovnmjNf+/V4WMPR5hJhke3vD4GplhYtvL9vEmYS6rKRFRInOWY36YmcSGRlRlXtIqk2x zyyYNZ5RPe7YC1b4z/lhTrlqaQI8TZd/6fcFdDffIo1BEQ/N3P7wZXdRNFCaaVDVEmaC k7EM7JL4YwRd8/j1fpMwi0Sv19KAavj/Z3Lox3YCddOW/BESEhsEfDKnGobVr1uu+fRI IcumcKWqHnYFfcFoEuc9ODLNMlqMcGwYmuqo7O/bx2Pw8Bf2iZVjEA7+bSDnR5xz4m5D EuCw== 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=W7YPU86kRh43fh/B9xA9EKXQH40cZnkadx8AsjXbI3M=; b=AR0mQYHZSjIgMviT02oqjLx9fAjwNBuyP9MGmOeS38SRLUGltotrsKXPKmzAyBlrWJ 8OPocgsyZ/ZmguNHW04A4nYMOLI9zBbvSAUqn7LvAz1Jw4vUSx2Ya+Xb45hqVcGUC3sa TkH/qyrD6HemV2I0K5eq3Bll1LzvNb9XdJ9vLNXo0RRkpSNUNH2mpKXzurJiDFtCymua 4sfK2LnvY7EOOPhcYOZDHE1ubx1Dd3hETJTHIGhZ+IF96WWEB4/SguHzW8sHVKlttiXQ HrFxiBrYW+4SPFijrOZbAuJacC5UxsoI22ny9LeW+hXInK4ZLSA27ECKgjoKoCg8z3/M xgEA== X-Gm-Message-State: AO0yUKXLEfZGFH6L1TqiwVKv0pnwdzwn6qKsVmo4fhNbfskS7azaMVRT WHeDdslhfkw39MDAg2KE/jNWZQ== X-Google-Smtp-Source: AK7set/11E4jpVghRlgOmElBR2Eplp/YT9s1l5QVxf/giHCfieVdfEaQkx8Mgi5PszE54dGY0TW/bw== X-Received: by 2002:a17:902:e551:b0:19a:6cd2:a658 with SMTP id n17-20020a170902e55100b0019a6cd2a658mr34785plf.7.1675989335399; Thu, 09 Feb 2023 16:35:35 -0800 (PST) Received: from google.com (7.104.168.34.bc.googleusercontent.com. [34.168.104.7]) by smtp.gmail.com with ESMTPSA id a11-20020a1709027e4b00b00189b2b8dbedsm2069302pln.228.2023.02.09.16.35.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Feb 2023 16:35:34 -0800 (PST) Date: Fri, 10 Feb 2023 00:35:30 +0000 From: Sean Christopherson To: Isaku Yamahata Cc: Chao Peng , 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> <20230209072529.GB4175971@ls.amr.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230209072529.GB4175971@ls.amr.corp.intel.com> X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: C7CF940009 X-Stat-Signature: kywafkzhhha3e8m1wu484jxur4hpzzmx X-HE-Tag: 1675989336-935325 X-HE-Meta: U2FsdGVkX1/OmFleDanzRpuuerb8gPUyNuSlIkUpu36WpA44Ay2ytth0fQwhPWZRG5hN/g/hDkWtflmFfVbIhkSImkRdfO6GyakgthJj05pUveZIFFUHkWOeOQgQmnCw7DDiKDoQ9A9sEAD6jAWAuA9yKlqM3nZ35n3MF5HTDdMLUegmU9/LvRioYOzXFKNfe89IPSNt9D/R3OOkv6TFphb8HeD27AchBhM39D2D5VZkVqchda2i/o868LYf8kOyBrsVxmku9F8x4BICMjTrdJLjg4p3o6dTFGx5jLDetcPGKjhxz3THsD6SPuk1YiPopyavQuGg5hR+xVO7HcO4MIm3S7IbyTongPgfevyzskj3SbFGKtn4R95hLg7lxcy7/9p74UcmAqFIfTyMW04z/0ioE4X4hhFDHQpFNzhwKxKLuOV92jIBpy/3ip4iLQAU91L0X78og4gcNwDTL/rXiVge5ZUKp2IKlm8dietSVctvA8gCNjoOd6/jp9VzZqh4uFPYfYKet5XGvOYWkqMoyJ217QrtSKrT+gR27deIz7Bq9qne8wK6oXTHxI39SqOkaA0/AKqaYM+6zW04RUwSFnJySX0Vf4Axmz8mURtWcciL1qujyLvTSRHFn0fpUPqtLOCycy2tZfh/g5ky9rd7ef2j+7FNpGe1QSb7QvEQVmTjaDvMPHroX05g06MWfX79Z/y4EvTeA4d6ImmqXljobDW+QfBkQ+PsJCP9P8DNQI+e/ZxjsrpKeT2JBPZr69OmO52HzRYtEbaHcgukHdZ2JAS4Xvunjallp4IqqEb+F9eEf8ejEsy+oW9YLkCcj2Cv3bWWM8tpNwvm8pMXSOLQCzZZdysZhEUgzC87nJx3yB5I4z2wrwsQuQSa4PgqkmBJ1se9RBhnQZUEIq1SpAREQl7tnog/vBm8MOWcH1zEXgIdVSm9AU+7f5it7KVh59IIOLJwfZ4qzT4OxfS2McX IKMOv0nE 41WP6MC+LGr4DsGtJHiNE7ABZBfphPhwIRk0+oIkSyWIkhomGDKtOkCSf4l/Q0dq7Vslh3KddTGBtVwvdMZV8tE4D72mTXwIMdn8V3ig54LS6CTpU/JQTo7FmEXMC5reVz8nP+SWjU/kmtJcNzINj+efkBk0pHthq9scTgyh/eIe25WtRgJw15BbZSF8+Sni36/s0a06apDoDUsePyrhSRB1Q6GKFyfaIzwh0ZbGs9bdApxdY+a7viXxFmcvAln13rswzLq3K9z1v/UogEM8QEFPpK/ehrhipJfu1O11X3hmQJCCAWmVwX+H6K5eesGPDOwN2mEDYCWjI2h551VVWBBYUCjAmSLptd57ezPKQwLDzc7igCrj0UhHEJP2i02HLc4BZVvF+brjp9D1XavsDziVTHVyKbbvlJxm/O/hC8aLsYa2Ygc3Q3BjzQXGzee8Pr4pnHxezTuNG0YV3K6Q2i1WksrJWd1TmdvRt 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 Wed, Feb 08, 2023, Isaku Yamahata wrote: > On Fri, Dec 02, 2022 at 02:13:40PM +0800, > Chao Peng wrote: > > > +static int kvm_vm_ioctl_set_mem_attributes(struct kvm *kvm, > > + struct kvm_memory_attributes *attrs) > > +{ > > + gfn_t start, end; > > + unsigned long i; > > + void *entry; > > + u64 supported_attrs = kvm_supported_mem_attributes(kvm); > > + > > + /* flags is currently not used. */ > > + if (attrs->flags) > > + return -EINVAL; > > + if (attrs->attributes & ~supported_attrs) > > + return -EINVAL; > > + if (attrs->size == 0 || attrs->address + attrs->size < attrs->address) > > + return -EINVAL; > > + if (!PAGE_ALIGNED(attrs->address) || !PAGE_ALIGNED(attrs->size)) > > + return -EINVAL; > > + > > + start = attrs->address >> PAGE_SHIFT; > > + end = (attrs->address + attrs->size - 1 + PAGE_SIZE) >> PAGE_SHIFT; > > + > > + entry = attrs->attributes ? xa_mk_value(attrs->attributes) : NULL; > > + > > + mutex_lock(&kvm->lock); > > + for (i = start; i < end; i++) > > + if (xa_err(xa_store(&kvm->mem_attr_array, i, entry, > > + GFP_KERNEL_ACCOUNT))) > > + break; > > + mutex_unlock(&kvm->lock); > > + > > + attrs->address = i << PAGE_SHIFT; > > + attrs->size = (end - i) << PAGE_SHIFT; > > + > > + return 0; > > +} > > +#endif /* CONFIG_HAVE_KVM_MEMORY_ATTRIBUTES */ > > + > > If memslot isn't private, it should return error if private attribute is set. Why? I'd rather keep the two things separate. If we enforce this sort of thing at KVM_SET_MEMORY_ATTRIBUTES, then we also have to enforce it at KVM_SET_USER_MEMORY_REGION.