Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp4788722pxk; Wed, 30 Sep 2020 11:41:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzVMBH74lHfQCDN5Web74GIySaQ+hRKbig2brxTiVA36+W3Lp0p7sfQP+1XePFE7sPNs25X X-Received: by 2002:a17:907:432b:: with SMTP id ob19mr4244637ejb.400.1601491272375; Wed, 30 Sep 2020 11:41:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601491272; cv=none; d=google.com; s=arc-20160816; b=JTzGIuh5uCvM4lo9EjGHRq5FOY89Vg5I6q4JNInrB+0k1AAXqebERsfG5L9776qAp2 q4n8N4cICcKWPOOUHin3yVT2hdvmwsJ4dv9EWd6Pg3UKBuJH/ubtU6heZDX9aaLdGSqa GCGY2hs0vmOwbDDujMrVpOVQNw2k5dET9O7koxCp8lqs6Vlni8JDFMgvpC4un2uTwTen 8gj0UqV3gGUHtoHT5iRQ6Vhl6GXDwhbcpQ8dNcjzItNM/3bAZfk+c5dQyhD4Vtdg5LNp aW9QUVBiF38K361kPxn8DUTHBRznYb6kVbQSZBYhpqF/uWm1blxuMMgjARyyeEtMRdA6 DJ6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=siO3Ww0UuN5awZ2/4Q5j7OZO9fAp8wT77tzaQkVz9ls=; b=iwLWXLNyphKRXAauvO7Ei8mO4TXB1kFYzWGteLnVDTpPzThOU6/rOYqit7uvYzkpZJ XWzaFZ16Lcy5ht15xvk9Z4lvFai1ZjJ2OwzF9T4GiM+OmcfKWlZ7WyiXUJo5MWDY7/3X GsM8XTPJSO/Mkv94Xcw7pjra54KL1FtOHO341VBdZsbp1ycdeRh1F+bvBugP+4x199rE 2t96CvCXIhsIhjFBPcTq81fs+/vvqu8kZm/PGqY+21Iv/8eQyNRPDfl1vWDH0aPNuF5b XbDWVMqlRRWWL99S4LZ37B09yUl4ChfCrjmBHz4HQq3vJZTYORDYRflMe6oU6S6VlowV 0BBQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=T8SfNyHQ; 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 du1si1546756ejc.562.2020.09.30.11.40.49; Wed, 30 Sep 2020 11:41:12 -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=T8SfNyHQ; 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 S1729484AbgI3ShL (ORCPT + 99 others); Wed, 30 Sep 2020 14:37:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43170 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725892AbgI3ShL (ORCPT ); Wed, 30 Sep 2020 14:37:11 -0400 Received: from mail-io1-xd44.google.com (mail-io1-xd44.google.com [IPv6:2607:f8b0:4864:20::d44]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4E39DC0613D0 for ; Wed, 30 Sep 2020 11:37:10 -0700 (PDT) Received: by mail-io1-xd44.google.com with SMTP id z25so3036550iol.10 for ; Wed, 30 Sep 2020 11:37:10 -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=siO3Ww0UuN5awZ2/4Q5j7OZO9fAp8wT77tzaQkVz9ls=; b=T8SfNyHQgRssrwuMGSNe1Hy/76JeGn2jrPuT+PfCKTcMA+kHHXx4IEX5rcbeHKij7B oMn52MBkpnsqi1o4exKmNOUjzWgl7Lezy8pZ99oQicQynhRlyIy5aZ5F82im+qGqEgjp 4nVSf5F66vWxWpvScXVvyiVKdKv/hGTHdQD+gBMNfX88OkQkJUnd6IBB3WLSl6U3pOSd iz1go36055uPNZQ9b58FWuDpUlqWl5hU/zwiqtX7K0npYdqjtB1rpnO1FXHa82awerZn qaV/44+3IrMo9sQcjBhq4cDXLwRTP5GGPXM+vaoz0Gq/f+UjWtk6q4iGPBXjrPBuyOC2 vEZQ== 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=siO3Ww0UuN5awZ2/4Q5j7OZO9fAp8wT77tzaQkVz9ls=; b=Fp1Mpju+3tNyeXSH8a/ScmJj6IMtWJlA0GSpBi85VtResgPm6QQESLrJZG+8FGLjvW 6U0Pm6xsCoaUL6lLDgdgKb2l9GBFi/t6YzQCxPZ875JRWHUfQJO1TkuQlGGuj2Fwc+mp C4t7iwCxfh9NTQe9nALyHSA6O/9n9lTufB2GtEehmyGDm81dfyC0kZ/IC79K/tHIdqQo xS+vTPp7yqmszRKhKwOb4IlHUiy27GwgUppewDM69JTTgPymZZIJNP7GfxXz8JQ5XuIb zksoob/1ZCYqm1o7iLSgP13scHg/YER61R+6/DXnQ0nPPaWvMf3mVjDvGqYWNchaiK5E R7RA== X-Gm-Message-State: AOAM530qLoFUUONtHKwB1M98dSz7LHnQCxC++4VNZVSS5k+B7AKda2LR LwrGOC+lJ9Ym1sOqQmGbb7hEAMICHh6p9hCN+eTj4A== X-Received: by 2002:a05:6602:2d55:: with SMTP id d21mr2647330iow.134.1601491029262; Wed, 30 Sep 2020 11:37:09 -0700 (PDT) MIME-Version: 1.0 References: <20200925212302.3979661-1-bgardon@google.com> <20200925212302.3979661-4-bgardon@google.com> <20200930053430.GE29405@linux.intel.com> In-Reply-To: <20200930053430.GE29405@linux.intel.com> From: Ben Gardon Date: Wed, 30 Sep 2020 11:36:58 -0700 Message-ID: Subject: Re: [PATCH 03/22] kvm: mmu: Init / Uninit the TDP MMU To: Sean Christopherson Cc: LKML , kvm , Cannon Matthews , Paolo Bonzini , Peter Xu , Peter Shier , Peter Feiner , Junaid Shahid , Jim Mattson , Yulei Zhang , Wanpeng Li , Vitaly Kuznetsov , Xiao Guangrong Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 29, 2020 at 10:35 PM Sean Christopherson wrote: > > Nit on all the shortlogs, can you use "KVM: x86/mmu" instead of "kvm: mmu"? Will do. > > On Fri, Sep 25, 2020 at 02:22:43PM -0700, Ben Gardon wrote: > > diff --git a/arch/x86/kvm/mmu/tdp_mmu.c b/arch/x86/kvm/mmu/tdp_mmu.c > > new file mode 100644 > > index 0000000000000..8241e18c111e6 > > --- /dev/null > > +++ b/arch/x86/kvm/mmu/tdp_mmu.c > > @@ -0,0 +1,34 @@ > > +/* SPDX-License-Identifier: GPL-2.0 */ > > + > > +#include "tdp_mmu.h" > > + > > +static bool __read_mostly tdp_mmu_enabled = true; > > +module_param_named(tdp_mmu, tdp_mmu_enabled, bool, 0644); > > Do y'all actually toggle tdp_mmu_enabled while VMs are running? I can see > having a per-VM capability, or a read-only module param, but a writable > module param is... interesting. We don't use this much, but it is useful when running tests to be able to go back and forth between running with and without the TDP MMU. I should have added a note that the module parameter is mostly for development purposes. > > > +static bool is_tdp_mmu_enabled(void) > > +{ > > + if (!READ_ONCE(tdp_mmu_enabled)) > > + return false; > > + > > + if (WARN_ONCE(!tdp_enabled, > > + "Creating a VM with TDP MMU enabled requires TDP.")) > > This should be enforced, i.e. clear tdp_mmu_enabled if !tdp_enabled. As is, > it's a user triggerable WARN, which is not good, e.g. with PANIC_ON_WARN. That's a good point. > > > + return false; > > + > > + return true; > > +}