Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp51737ybg; Tue, 9 Jun 2020 16:06:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJytlQQQ+5dSdXZFiC7CIbHNgMvpYQQIolO7gaUvTlMUyP2yXyKC6E1PYu/DXP715KKZEaVF X-Received: by 2002:a17:906:9382:: with SMTP id l2mr701790ejx.8.1591744004150; Tue, 09 Jun 2020 16:06:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591744004; cv=none; d=google.com; s=arc-20160816; b=dRDqhZvRGIBzg1TAm7P8atms2Tc4Kfhf651POq19qUq7XunEcN4HoUxOKfQaZUqd62 vDtu1nXunh6XfCXjhEEJmZHfLwLNVNMsVpHfeKc8gYXObIIriwrghCrLkTYgxpuNPaai DexDPIoNwvZ2kijC+xKuFuY8HjgmksqeyAlYB5sEBfulC/aaaUSPNbsHcYnfUN8c6+Z7 PUmwzkYx4E+6NVQ41noD2XoDKka9ju0N37ErB/FZyFtEAiWvxwiLv4932W78TzW3g83T IPGFWYJ367a1OhWRcLzCWWZx5TLqDhwR34yFhUJ5Pnq58Hee/5nHCBAXtd9kpseft3/b axsA== 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=QPEA53MpdF9ON3exFjCberFh9r4WY/+iX04WGFZFtXU=; b=xOMns3JTupu5cgDPzojUzRvNempdMXq2c1xitkASIAanA57X3OlowQfc4Mck/umCIu yqlWIjsyDcOx5M6zHXw6kXRqxBsD1+zCWpgVgQ2OO/iRs3Lpo6uFpjEWsk2YVDi2x+9b eoer4UWJR/d5PBB4yjH8CxoeaHXb1TtPoLL82MVMi1kZItvxRCG//SR5BaPR9MHZVfOf dJmzqE79TzRxZioV2bg5ATmkS48uvOCtAlpNQIjPDRhG5JAeQr5PbmLyOHApAxv9JSlb lDr9Ea7q/sP9oIPw4D/7FkkEfzcrbxrBRvAqiWXqKqvkP7KojZS7FwZbJslkza3xE+tn zeCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=rwanDsZd; 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 v21si12190286edy.131.2020.06.09.16.06.14; Tue, 09 Jun 2020 16:06:44 -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=rwanDsZd; 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 S1728754AbgFIXD6 (ORCPT + 99 others); Tue, 9 Jun 2020 19:03:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33550 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728942AbgFIXDx (ORCPT ); Tue, 9 Jun 2020 19:03:53 -0400 Received: from mail-vk1-xa41.google.com (mail-vk1-xa41.google.com [IPv6:2607:f8b0:4864:20::a41]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 50B25C08C5C3 for ; Tue, 9 Jun 2020 16:03:53 -0700 (PDT) Received: by mail-vk1-xa41.google.com with SMTP id e1so122498vkd.1 for ; Tue, 09 Jun 2020 16:03:53 -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=QPEA53MpdF9ON3exFjCberFh9r4WY/+iX04WGFZFtXU=; b=rwanDsZdo86Rv+vzZDRG+0C9QrHIbGQgfj2nwO+GiGBNVyLSExN93DGrkptklgs9I1 AC0cy3+rivR0wtaNSSV9u8U2CqWzAr9cwayr0OtE6O+jC2+BtUr9VjUb8UFNbXJkVAi1 WfJhopss4dvT37wHibefpDeELAXyANGodPwrJTtsn9yIlJTNlMVMXjXyhR/cP5akWDCP mjbboyehlJjrEud3b556BAnXu9H3ea7lZqMAdBWMg65r0d3SNuuwYPZvv8rUlGOJMmVx 1rAQzDRF0wybOVz5i+mnG2dV7tbBHX6NxTZfN6sP+E0p5F7rIRZGBiMOtY3RefHOaxGa MGfQ== 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=QPEA53MpdF9ON3exFjCberFh9r4WY/+iX04WGFZFtXU=; b=tue+a6anbwGJ/MYdJtkzWuIVtxwhKAJVNo4gruE6Ez2ODluW3YGnWn4gJkNm0EVksx BpuE1LnZCxAln18tZnPenpCJoCdakfFfWq4M0OtdM7FWJlDsYh7iCEOkjtJ6t2SfBdti 2biq1JIZaibRoHTQODIjH6WUoA1tlh2jzulcuw8HY3k93bwFv+a30wYuaKKNzGpkWSfY 3TR3Sr1eP+J9sSQu29POlm6cmPCP1MnD40CK55k7Zg4dGYymydSlwj+xfAZIqQepB7v/ KWdF8lrgauQh6ZlB0mUaZXARkAiszXxc5q+ljMVtkLxrcHB5XTEo/5EgzS432XGfOHw8 se7Q== X-Gm-Message-State: AOAM531Wdt77mldwd925vLsQzobWC90Apat8KEsND0ojIhZOv37Ty2Lz KvikL5wAfuy9kzyknU7UvkpgqMLumDWx1co+Vdy9Wg== X-Received: by 2002:a1f:974d:: with SMTP id z74mr401275vkd.40.1591743831579; Tue, 09 Jun 2020 16:03:51 -0700 (PDT) MIME-Version: 1.0 References: <20200605213853.14959-1-sean.j.christopherson@intel.com> <20200605213853.14959-7-sean.j.christopherson@intel.com> In-Reply-To: <20200605213853.14959-7-sean.j.christopherson@intel.com> From: Ben Gardon Date: Tue, 9 Jun 2020 16:03:40 -0700 Message-ID: Subject: Re: [PATCH 06/21] KVM: x86/mmu: Move fast_page_fault() call above mmu_topup_memory_caches() 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: > > Avoid refilling the memory caches and potentially slow reclaim/swap when > handling a fast page fault, which does not need to allocate any new > objects. > > Signed-off-by: Sean Christopherson Reviewed-by: Ben Gardon > --- > arch/x86/kvm/mmu/mmu.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c > index 5e773564ab20..4b4c3234d623 100644 > --- a/arch/x86/kvm/mmu/mmu.c > +++ b/arch/x86/kvm/mmu/mmu.c > @@ -4095,6 +4095,9 @@ static int direct_page_fault(struct kvm_vcpu *vcpu, gpa_t gpa, u32 error_code, > if (page_fault_handle_page_track(vcpu, error_code, gfn)) > return RET_PF_EMULATE; > > + if (fast_page_fault(vcpu, gpa, error_code)) > + return RET_PF_RETRY; > + > r = mmu_topup_memory_caches(vcpu); > if (r) > return r; > @@ -4102,9 +4105,6 @@ static int direct_page_fault(struct kvm_vcpu *vcpu, gpa_t gpa, u32 error_code, > if (lpage_disallowed) > max_level = PG_LEVEL_4K; > > - if (fast_page_fault(vcpu, gpa, error_code)) > - return RET_PF_RETRY; > - > mmu_seq = vcpu->kvm->mmu_notifier_seq; > smp_rmb(); > > -- > 2.26.0 >