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 90924C54E65 for ; Wed, 21 May 2025 08:01:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2F67B6B0085; Wed, 21 May 2025 04:01:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2A79E6B0088; Wed, 21 May 2025 04:01:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 16FE66B0089; Wed, 21 May 2025 04:01:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id EF1356B0085 for ; Wed, 21 May 2025 04:01:34 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 8280C808B7 for ; Wed, 21 May 2025 08:01:34 +0000 (UTC) X-FDA: 83466170508.05.FDF5750 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf21.hostedemail.com (Postfix) with ESMTP id 0A1191C0005 for ; Wed, 21 May 2025 08:01:31 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=ROVHZDHB; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf21.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747814492; 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=4RYkgAjrsw+pDY8x3snymsQcrwRSC8EMIUAxroid+Gw=; b=kNxDEQFn8lC3Qcymss36Q/XRThlQ5rw3L2I09p6vVc5UMVhtsvVwhe8PkduU6B+weMCWgw 7BxO5aWapuY4c4Ixj1461Ubu804rJEqVIATm2D3CUnhxU2IzmuY4K6nQY0zXQq229s63fx 5zbttoco8taxQGhd1oKrn6nsaNggWks= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747814492; a=rsa-sha256; cv=none; b=6lm3PeJRpuJiO/P3/Z+Gp5pwzu/8sqv9tL0gwaaRVQ/HYetjaVIfl2xCMCQG7qmPRzMXl1 CwIQGgMtCB6k1lpQK9wClNEC0t6qWZ/TXtgsA7I9tbNQaNIUV7SiYB9s+aiwudw7sWaTgA 7F5iNhCsHGVXt28PCdufpo3J97Nkwt8= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=ROVHZDHB; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf21.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1747814491; h=from:from: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:autocrypt:autocrypt; bh=4RYkgAjrsw+pDY8x3snymsQcrwRSC8EMIUAxroid+Gw=; b=ROVHZDHBjzkYUc7dNx3F0cmGuEEYpOU6KXsyI2jQ/64GMjLRRDlgTpPl9Z1rRCdMLsNPFm d2ayphMJ/hsKs4W/u/Wox9yIf4ZdQCQQfdd/lhzENPXv8Qd6hMaH/QPjtnwDcGl4ZyeMSq OaQQJFoDtvHdYyOsp9LP/zwReN+0vJA= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-635-4LujgRNIOx64iXL6LxCPbQ-1; Wed, 21 May 2025 04:01:29 -0400 X-MC-Unique: 4LujgRNIOx64iXL6LxCPbQ-1 X-Mimecast-MFC-AGG-ID: 4LujgRNIOx64iXL6LxCPbQ_1747814489 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-442f4a3851fso55368805e9.1 for ; Wed, 21 May 2025 01:01:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747814488; x=1748419288; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:from:references:cc:to:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=4RYkgAjrsw+pDY8x3snymsQcrwRSC8EMIUAxroid+Gw=; b=FHoiQ1dtxQqCvPxRyYrjH6HtbCOKeqXQUY9LkwtK0fcnISm0aw6OYbBQWn/HsReQsS SjU6QY0//+ySvAqdqHWMYwnW3LwFmwqMi0+U/wg47AKzc4Oj28/vqlByr+GVk6K3sGrf GidFc2xvsnAq5DY7h4P2WKWnsqZ+DPy8GhC3NuvqX/oBXAU500xr1sPaUOQOoYx1urRQ 1zu5LMha+7lgnhi4k3X0BadOZLZQckcv1mlxNTKdbt2Oy3sGbcFLUh8ABwUF0Iv6I/Ws mFldAoIuzPgETZ1M4Qguajds+Keya59lAHxdJ6463a567om0kjpzlYSiuZJ8gogDtQXq EpCg== X-Forwarded-Encrypted: i=1; AJvYcCWZze0wKfCmot+HCbpgOhooI4pv0w+P1VxUc8vDhi4ca9gtoEoqNGygkM79eU9HpHY296/s0Hlkxw==@kvack.org X-Gm-Message-State: AOJu0Yw9WmEp8HK5uwubmEbgQCZVSGGkmgl3+r74OVXOaUBccSrkeYVK N/MsrZaFTGfRJ1p4Hp/C/PudbyOqETx2IB0r2W6+VS8dUIh/2swcGca+sFTSHnPsMgvQsX/Lb0Q kN8GpKtuyZQ9uOCpcQrplnf15TBU5iyYXFCwN9g1jJRUDQbh0ANgX X-Gm-Gg: ASbGnctmpM0ITQzffBhfjwXslzTZOyl9STqDffCk6F4B/vK1At+UNalG8u7Hdd4uhvi Raco8tV4fi3DQExzTs22V7537YvYcN99+zFPxMxJhmWzSYJUAeKZPLtTl1v3zQoLKFCWFXzsXiZ /Hg+VLawggZBHCyRpd7pEmIGLAzdlCATa/IEzntfEimgGkfP21ehP+EgKWzVMaVDVW2/WB+ENUE ueVnf9BcGWaFeGzRfOzzEGYALDHy1yl8G5WiLUoJLp55VeqrYR1KEQapP0Qw6+ZkucfKR5874uX 0hzkSQZLEt4y53T6f0yo7gP1Jm5HmJcx2bbeDujinrJDv0SRauz6d/Bu8C1EZgKQbdJ8H2n1545 wrHbNVkl4nvsHvAX3uA3eC6lt/NRq008S2TmLRFM= X-Received: by 2002:a05:600c:c059:20b0:43c:fb95:c752 with SMTP id 5b1f17b1804b1-442ffc60edemr109464705e9.3.1747814488357; Wed, 21 May 2025 01:01:28 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHKyIx8rMps7N9l8hzrChMxhw34HYrTKEu4eOSZFN4Um9vSDS/Gi2iekXstOKiLrKLeomLKaQ== X-Received: by 2002:a05:600c:c059:20b0:43c:fb95:c752 with SMTP id 5b1f17b1804b1-442ffc60edemr109463695e9.3.1747814487741; Wed, 21 May 2025 01:01:27 -0700 (PDT) Received: from ?IPV6:2003:d8:2f25:9c00:e2c7:6eb5:8a51:1c60? (p200300d82f259c00e2c76eb58a511c60.dip0.t-ipconnect.de. [2003:d8:2f25:9c00:e2c7:6eb5:8a51:1c60]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a36c6eeaf8sm11413800f8f.48.2025.05.21.01.01.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 21 May 2025 01:01:27 -0700 (PDT) Message-ID: <5ace54d1-800b-4122-8c05-041aa0ee12a1@redhat.com> Date: Wed, 21 May 2025 10:01:24 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v9 10/17] KVM: x86: Compute max_mapping_level with input from guest_memfd To: Fuad Tabba , kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org Cc: pbonzini@redhat.com, chenhuacai@kernel.org, mpe@ellerman.id.au, anup@brainfault.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, seanjc@google.com, viro@zeniv.linux.org.uk, brauner@kernel.org, willy@infradead.org, akpm@linux-foundation.org, xiaoyao.li@intel.com, yilun.xu@intel.com, chao.p.peng@linux.intel.com, jarkko@kernel.org, amoorthy@google.com, dmatlack@google.com, isaku.yamahata@intel.com, mic@digikod.net, vbabka@suse.cz, vannapurve@google.com, ackerleytng@google.com, mail@maciej.szmigiero.name, michael.roth@amd.com, wei.w.wang@intel.com, liam.merwick@oracle.com, isaku.yamahata@gmail.com, kirill.shutemov@linux.intel.com, suzuki.poulose@arm.com, steven.price@arm.com, quic_eberman@quicinc.com, quic_mnalajal@quicinc.com, quic_tsoni@quicinc.com, quic_svaddagi@quicinc.com, quic_cvanscha@quicinc.com, quic_pderrin@quicinc.com, quic_pheragu@quicinc.com, catalin.marinas@arm.com, james.morse@arm.com, yuzenghui@huawei.com, oliver.upton@linux.dev, maz@kernel.org, will@kernel.org, qperret@google.com, keirf@google.com, roypat@amazon.co.uk, shuah@kernel.org, hch@infradead.org, jgg@nvidia.com, rientjes@google.com, jhubbard@nvidia.com, fvdl@google.com, hughd@google.com, jthoughton@google.com, peterx@redhat.com, pankaj.gupta@amd.com, ira.weiny@intel.com References: <20250513163438.3942405-1-tabba@google.com> <20250513163438.3942405-11-tabba@google.com> From: David Hildenbrand Autocrypt: addr=david@redhat.com; keydata= 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 WNyWQQ== Organization: Red Hat In-Reply-To: <20250513163438.3942405-11-tabba@google.com> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 1c_WfIbMz4r-tqACIo4PzAYL9KDzPv541Wr6qCMqaHw_1747814489 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Stat-Signature: m891kbgnyunsfpm49pdqzfbnyk36xrn9 X-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 0A1191C0005 X-HE-Tag: 1747814491-459996 X-HE-Meta: U2FsdGVkX19WHexfb1Vx9BEQPhpY+PZ/xaZ9B6xTKeN7RfUJd+9R8w+NjDSAVE42N9n0TINuiU1FiiBVlpufoBdpjI2lb/atQWbZdIAxseHHQ9zr9vHhTCCYdPOIa4hFEDVzT1qBMi8bQirYujxf3/xt8qHiD64RzkIZnlYeAZwPGoWq8FZl/HgnpWaiEvNjHS89dEXCkaKATrRZiD2vBj8ZTx2Tn1VR9wPpThEmIlhQ7yH+bKe8yThLWOm9qjG3OkoLqP9viq6JkWhUGF0I0KeDwCmYUvs9vwK2zvKKs018oQO5CWN67UkfG0tZ5rQ+Dn7J9DRuRC0W1H3NXW3y3Q3RS68CiXroRsCDk1upFs65gx0KTujM87HI0h3ACX9SPll+KyyKHkjh6IirKpETarNldKDIP1Fry3Evpynj1dKgdelx2fhiGX556SpfZvVbIf98h1rQRm/jOXWjHjWolnDttCtY0VY5C3lTUbuKHEbS7dTqBwfqhVja1oZVz0FOfwHQU7dWvRcG2A9XwyCGuWJCuTa/XLsx+W9fCoTpZqABoBo4ORVsHHbVqzgxmDMwoGwsHj8vqCEvIccPKwHrosxZmB3qO/qIJ2/GCcCs0FhyKR5dDO0UyPv0DzT8RYkNpDsBfYuFW+11zLk6k8xrhIE0SSIgi0y3EX4KteK+Y314RkmFq2YLXKWK3VWEYkUK39SVFvfnwlc0m4/3I+f5JUI+DKOOu/06kAiJwZXIfSTyHr5LYgBDxenIau7ClSyk+EXzB+nhJKdr9HxQN6Okpmng/qw4A4X4Z3UlojVxW2Ce3/msKcBtD/jttShvnGn23zKLlRg1BA4m9oxN+2bOrfJz/blPVawAcfLUJuyN7d04TEi0y5VxAuZlyVFM2fV+yYwF8Sv9/aL3qvh+1yC0GX6nRCrQRyCxlHyv4AuU6Io0BSNPKE0LkU3iUZOHP4OEXshfhhci63Qvp0rdZRO Oz3KIB7l 9mBWowpLntT94QotUlFP/Qjh25pNNA8V1p2EhwiDXti+ullEs/Cyr7LJQwnKDgxnAqAotNSlMy/QjZmYsEgfN8O+VKMa4uMDUmpfrhsQE1dQ6MhW4JeENBDYBNkPT/VUkMB/BLD+bqpikl5BqQ/EloCpCeWmohbg4DxaYmRghK1Zirpe0dUEJnl7pDfOvk1J7JI4rEI3HvfVvuwbxbll1Ngope1k5b6nT9sn40Tw9ZZQOPbTKSmWJPzK7Z5wAyn+pzwlsTw+p15B/MoZaKJiR1SZrtd95r6zF3C1xKsGUyZIBDB3Z+LXE3/IRbAtlUxh+54ipH3juh0H4fOcvk5Gwl47t1w81mMEm3idi0x4WPm11T6JfxQ7wFVE+lRaBT0ddGEv3xL04YxPRnWy/GX2rvfowcKzSW2ncArY95TqTov8rXfdhFq5nI3zBZipBQHZOf0SGjdEiz6Yijt7LOZP7uEblWcrST08CC7kZBluZy9SUc1tSFjExyrFJc/34Ho+P/DpIJTCm29CKJEI0LSQ+xoF+Nq2iCPaNzYGd 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 13.05.25 18:34, Fuad Tabba wrote: > From: Ackerley Tng > > This patch adds kvm_gmem_max_mapping_level(), which always returns > PG_LEVEL_4K since guest_memfd only supports 4K pages for now. > > When guest_memfd supports shared memory, max_mapping_level (especially > when recovering huge pages - see call to __kvm_mmu_max_mapping_level() > from recover_huge_pages_range()) should take input from > guest_memfd. > > Input from guest_memfd should be taken in these cases: > > + if the memslot supports shared memory (guest_memfd is used for > shared memory, or in future both shared and private memory) or > + if the memslot is only used for private memory and that gfn is > private. > > If the memslot doesn't use guest_memfd, figure out the > max_mapping_level using the host page tables like before. > > This patch also refactors and inlines the other call to > __kvm_mmu_max_mapping_level(). > > In kvm_mmu_hugepage_adjust(), guest_memfd's input is already > provided (if applicable) in fault->max_level. Hence, there is no need > to query guest_memfd. > > lpage_info is queried like before, and then if the fault is not from > guest_memfd, adjust fault->req_level based on input from host page > tables. > > Signed-off-by: Ackerley Tng > Signed-off-by: Fuad Tabba > --- > arch/x86/kvm/mmu/mmu.c | 92 ++++++++++++++++++++++++++-------------- > include/linux/kvm_host.h | 7 +++ > virt/kvm/guest_memfd.c | 12 ++++++ > 3 files changed, 79 insertions(+), 32 deletions(-) > > diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c > index cfbb471f7c70..9e0bc8114859 100644 > --- a/arch/x86/kvm/mmu/mmu.c > +++ b/arch/x86/kvm/mmu/mmu.c > @@ -3256,12 +3256,11 @@ static int host_pfn_mapping_level(struct kvm *kvm, gfn_t gfn, > return level; > } [...] > static u8 kvm_max_level_for_fault_and_order(struct kvm *kvm, > struct kvm_page_fault *fault, > int order) > @@ -4523,7 +4551,7 @@ static int __kvm_mmu_faultin_pfn(struct kvm_vcpu *vcpu, > { > unsigned int foll = fault->write ? FOLL_WRITE : 0; > > - if (fault->is_private || kvm_gmem_memslot_supports_shared(fault->slot)) > + if (fault_from_gmem(fault)) Should this change rather have been done in the previous patch? (then only adjust fault_from_gmem() in this function as required) > return kvm_mmu_faultin_pfn_gmem(vcpu, fault); > > foll |= FOLL_NOWAIT; > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > index de7b46ee1762..f9bb025327c3 100644 > --- a/include/linux/kvm_host.h > +++ b/include/linux/kvm_host.h > @@ -2560,6 +2560,7 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) > int kvm_gmem_get_pfn(struct kvm *kvm, struct kvm_memory_slot *slot, > gfn_t gfn, kvm_pfn_t *pfn, struct page **page, > int *max_order); > +int kvm_gmem_mapping_order(const struct kvm_memory_slot *slot, gfn_t gfn); > #else > static inline int kvm_gmem_get_pfn(struct kvm *kvm, > struct kvm_memory_slot *slot, gfn_t gfn, > @@ -2569,6 +2570,12 @@ static inline int kvm_gmem_get_pfn(struct kvm *kvm, > KVM_BUG_ON(1, kvm); > return -EIO; > } > +static inline int kvm_gmem_mapping_order(const struct kvm_memory_slot *slot, > + gfn_t gfn) Probably should indent with two tabs here. -- Cheers, David / dhildenb