Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp828734ybg; Wed, 10 Jun 2020 15:05:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx47E+4GZfmHaNBIw9vcNgcFdoZJmZmx2yGuAEJ6YMzdiWizez5zfb9DpHrgcpdOJ8d/Poi X-Received: by 2002:a17:906:cc85:: with SMTP id oq5mr5319342ejb.142.1591826749951; Wed, 10 Jun 2020 15:05:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591826749; cv=none; d=google.com; s=arc-20160816; b=pTWZNOvdTcSt9VaaAXr/pcnm1c+d8XvSH45diZMwKm/g2GNdmHvVOQ4fSrKpKCu7iI BAboTyF7SfobFASyhLbfpsx0Zm0RItLNsBwRTduUsUpSMdsXwAcdKFt0ScCiAq+QFXvF 8QWg/SKzqsMxdhlC6ql8ohTjyXc662ytnQJps8tapIwtdCrxwPAEcqtP0L6AbbwpghGC GpDTLdZoDFeac9LCFdUcyWdbbYbXa33i4p/2kk1WCENBzadmPtx4akDQ97kUK14eBO6g 8mhq0LfZRmomzQoMGTElywurbS93d2NGUL1geIJnHIIv6DNQiZuNirtEcnMJcqvjpqam xtjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=nR4rRNMXeXdrkwRNt5QUkb3PmbbCiqg+ykW9gq1PQDY=; b=fAh/gsxBiSVlbZ8SM8EIZJWU9oeWfmjJHaD7p38ZGZdYh5YSDyoDaOXqbyG3NyO5Qm ZoZf1zLz+7BIUnGt+HMG1eoe39eOBmX7QaCaLS5Y355lqCz+ZwmrjBdDAJkIL/1jnPok SaizZ9J4J4Xkl+CJeCZBduiZn+FyXLeLuAHf2z9ucof5hyVr2vLjlOn4IXermnUhy+G0 feUXrqQo+OZFs9yG2TbEIdB9KF4BmcuSWzLKvVIutHJisUtpyMlitK7WhGNmSUW7z/e5 txboCvcdndxq2EYfA7tYOEJdI7/Np2WMwrwTRhdvPgDVCrskGjGdowVJTbf+e9mfDWw8 3lfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ssJPmRj0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id md3si750956ejb.206.2020.06.10.15.05.27; Wed, 10 Jun 2020 15:05:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ssJPmRj0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726644AbgFJWBD (ORCPT + 99 others); Wed, 10 Jun 2020 18:01:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48942 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726260AbgFJWBC (ORCPT ); Wed, 10 Jun 2020 18:01:02 -0400 Received: from mail-ua1-x941.google.com (mail-ua1-x941.google.com [IPv6:2607:f8b0:4864:20::941]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2B4A4C03E96B for ; Wed, 10 Jun 2020 15:01:02 -0700 (PDT) Received: by mail-ua1-x941.google.com with SMTP id r1so1426780uam.6 for ; Wed, 10 Jun 2020 15:01:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nR4rRNMXeXdrkwRNt5QUkb3PmbbCiqg+ykW9gq1PQDY=; b=ssJPmRj0DZMvwcNEm4rDMS1iQrTWKQ/CbrV5wUy4HLikCgt2cbVC/HDDuHwX2SXS34 /J8wRq6CwydELAPYvYcbwrDRsMkJH2cXrp9p8LbG2wwj5rLX6heicwHC01b/RDYnbI2z WKvDdthm3zSW/suBOb+OllMNyyy9hLg5GcCuRmXJk2MArnFxKrNjxDQXng6qwvE2OXW3 M63vgoCWkMbWKpR90U8Uq4o21HJsc/3BYhChAHeC7UpWQYUMofIIBtqHHBbXocUFsmb9 aq3zx5lovFe4LSrej8YaDa1SAAckaY56q16hkEW5W4g3RTHhk1/l+KXZQ5nSmR2y9Sm4 Lnig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=nR4rRNMXeXdrkwRNt5QUkb3PmbbCiqg+ykW9gq1PQDY=; b=jt79zCgNVMQirOwEuzdmHw5pEGuFZb2NVfGWhIZVQZ7eZkm0QpnUL3Rbk43sAJGYqm 0cLJjEGOHX2YaljAfbgBrbmbN6sY39ByAPdSJD6ufQEKkRJ/NxZ5XJxML5Tz/jxmNwbd iX7UJcwLpzgQ5eJTQWj2LFFuVPmPXnK8nr7q5x+YkFvoKsXzGdSvH9ER7vzUNrGlxVfp DGQbbVce6BbG17dwWrAmapMeYL7bpLVdBdzzK62Z9UCkCe3/4hsYIGoYOuKuv7t+8q6i sVURXYpzn+BM5/7MmHuaPi9z+U4p/mWE5DoYxqaeN762GCeCIMPCoTzeYLyWKY1B6NQs OSgA== X-Gm-Message-State: AOAM533e2eOX2yEaW1o4BFwZPf1Z1WFDv7c1+9y+y5v/YqMtTfoxN4zx xpBZ5g4AtWZC/qq1LxBRQxxIl6B4+eenFkd48pTPhA== X-Received: by 2002:ab0:70c9:: with SMTP id r9mr4204376ual.15.1591826460956; Wed, 10 Jun 2020 15:01:00 -0700 (PDT) MIME-Version: 1.0 References: <20200605213853.14959-1-sean.j.christopherson@intel.com> <20200605213853.14959-17-sean.j.christopherson@intel.com> In-Reply-To: <20200605213853.14959-17-sean.j.christopherson@intel.com> From: Ben Gardon Date: Wed, 10 Jun 2020 15:00:47 -0700 Message-ID: Subject: Re: [PATCH 16/21] KVM: arm64: Drop @max param from mmu_topup_memory_cache() To: Sean Christopherson Cc: Marc Zyngier , Paul Mackerras , Christian Borntraeger , Janosch Frank , Paolo Bonzini , James Morse , Julien Thierry , Suzuki K Poulose , David Hildenbrand , Cornelia Huck , Claudio Imbrenda , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, linux-mips@vger.kernel.org, kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, linux-kernel@vger.kernel.org, Peter Feiner , Peter Shier , Junaid Shahid , Christoffer Dall Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jun 5, 2020 at 2:39 PM Sean Christopherson wrote: > > Replace the @max param in mmu_topup_memory_cache() and instead use > ARRAY_SIZE() to terminate the loop to fill the cache. This removes a > BUG_ON() and sets the stage for moving arm64 to the common memory cache > implementation. > > No functional change intended. > > Signed-off-by: Sean Christopherson > --- > arch/arm64/kvm/mmu.c | 12 ++++-------- > 1 file changed, 4 insertions(+), 8 deletions(-) > > diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c > index a1f6bc70c4e4..9398b66f8a87 100644 > --- a/arch/arm64/kvm/mmu.c > +++ b/arch/arm64/kvm/mmu.c > @@ -124,15 +124,13 @@ static void stage2_dissolve_pud(struct kvm *kvm, phys_addr_t addr, pud_t *pudp) > put_page(virt_to_page(pudp)); > } > > -static int mmu_topup_memory_cache(struct kvm_mmu_memory_cache *cache, > - int min, int max) > +static int mmu_topup_memory_cache(struct kvm_mmu_memory_cache *cache, int min) > { > void *page; > > - BUG_ON(max > KVM_NR_MEM_OBJS); KVM_NR_MEM_OBJS should be undefined as of patch 14 in this series. I'd recommend changing this to use the new constant you defined in that patch. > if (cache->nobjs >= min) > return 0; > - while (cache->nobjs < max) { > + while (cache->nobjs < ARRAY_SIZE(cache->objects)) { > page = (void *)__get_free_page(GFP_PGTABLE_USER); > if (!page) > return -ENOMEM; > @@ -1356,8 +1354,7 @@ int kvm_phys_addr_ioremap(struct kvm *kvm, phys_addr_t guest_ipa, > pte = kvm_s2pte_mkwrite(pte); > > ret = mmu_topup_memory_cache(&cache, > - kvm_mmu_cache_min_pages(kvm), > - KVM_NR_MEM_OBJS); See above, KVM_NR_MEM_OBJS is undefined as of patch 14. > + kvm_mmu_cache_min_pages(kvm)); > if (ret) > goto out; > spin_lock(&kvm->mmu_lock); > @@ -1737,8 +1734,7 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, > up_read(¤t->mm->mmap_sem); > > /* We need minimum second+third level pages */ > - ret = mmu_topup_memory_cache(memcache, kvm_mmu_cache_min_pages(kvm), > - KVM_NR_MEM_OBJS); See above, KVM_NR_MEM_OBJS is undefined as of patch 14. > + ret = mmu_topup_memory_cache(memcache, kvm_mmu_cache_min_pages(kvm)); > if (ret) > return ret; > > -- > 2.26.0 >