Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp2380052iob; Fri, 20 May 2022 08:08:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzwCX0s02Epi5ufMY5RbFl6XK2jBkQvA1aHpOv2VwZyZLAyQCz9t6XB07/xl3U1KsHTxjm9 X-Received: by 2002:a17:907:2ce2:b0:6f4:4c44:b66f with SMTP id hz2-20020a1709072ce200b006f44c44b66fmr8881577ejc.371.1653059288935; Fri, 20 May 2022 08:08:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653059288; cv=none; d=google.com; s=arc-20160816; b=gAEz/011lQlsS6ddWutJQuM3PZDyjJZDffv5X+wuWYcJxDRDw4NiEDLhSqcEgoWbUv 7EOnI4KHud3jfrY1nujZQAlGEEm6Y437hmecIB1lS/k2Miy3P54O1qv9cGmxs2pht2BJ fzf5CArth2jINjP6Y02qCuzvq8WRC2sEwSeBB8cWs4Y+uQAls5iLXEiRWiIjnGYg4md3 PQtmJGec/SVfc1TrcAWbXkGxCD/bYqpHuM+AFTMm+VlkoNqk/hnCQW9KrFwOTeeVs/ga wlJ8BuyUnvV4YLUjR1E3TTWvHtCcPefRUY8EONuyzPTMmYJidWpC+4EtSOmEgUKRsq59 /x9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=F28DbulQ0jEkQGLikm8EqDCBfoSZOeUw515EvhneCFA=; b=XsfeFrOfXMJKoy4YlY4OsBCuvGqGH89uUkvAdjQjuQElJwgik7IxYowU3/aMLcObVX TDZeVbKzdWlhKCPlSgpibk1tasgosk6VFVpdKwvc6EypmwDAl8Sf20fDu582/tsMwByw TPEAUCZ/3Q1dk9i2yAJ8RDNxndKcXwElJIEsVWyIVVHPsjisJwySB4Da0YaQw8CGd5e9 s3GvT/zb9qA5znkrGAgxJ5E7zq7W6REK2LPHKBetGz9jpbo5fzAqvQBAscqB6pZ7rHLj arpJa52T3FgVInHhHs+ueyBYNFAJlWkacMmm/chUtQAIe7SuIRJEJ7Q68IQB+sqEHgZx m6YA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=mIZhrXQ4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i11-20020a1709064fcb00b006fe58b19736si1164626ejw.510.2022.05.20.08.07.40; Fri, 20 May 2022 08:08:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=mIZhrXQ4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S241716AbiESQhw (ORCPT + 99 others); Thu, 19 May 2022 12:37:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52342 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234034AbiESQhu (ORCPT ); Thu, 19 May 2022 12:37:50 -0400 Received: from mail-pg1-x52a.google.com (mail-pg1-x52a.google.com [IPv6:2607:f8b0:4864:20::52a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D4D9FD8090 for ; Thu, 19 May 2022 09:37:49 -0700 (PDT) Received: by mail-pg1-x52a.google.com with SMTP id z3so4057587pgn.4 for ; Thu, 19 May 2022 09:37:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=F28DbulQ0jEkQGLikm8EqDCBfoSZOeUw515EvhneCFA=; b=mIZhrXQ4iFDgPsYFsZ60+OFftLbzg2tZW+uB4Ooe2VBWkW8cBXZysVagXo2RHoj2JB lB5PsP+r0vtw5PFYL7B5Y3KWrKTQz5GQdLa12HpSuDW1l8BJQScklN/B+swR9iP2becL eRKAYpFxwRMcG0SHKNoGGPgJxYRV9lyd62T7ErM9+iqtrSjZUFBFRxMcnzUY3VZ88IEl dM/9ug6NofL/hobVN6loSHRaQ19j9XqB1sHW50BI4yWVP3eobgOMPogH4GixJA/neC7R 4W7l6Z6XIGmCOCHUYVm1JJfgNgrAyb903+W2X5UumWnHyOF6RUtPiBKwafzpWnNSbDqk JieQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=F28DbulQ0jEkQGLikm8EqDCBfoSZOeUw515EvhneCFA=; b=uRSBLHGLtJ/msYSYN3E4x4lfDEWROjx5chwUeDots3578gODO2pGKhGA7JW3YNGTVu c2IL/yD9k9lXnEicgX+67HvRR/MHPOf+DxtzTnrkic0BJuRcTYHAZJfJ9nuZnKTh6Eqb 5EopqKDHPLtxg7vUt5Apui81uXii30RnIK7nlcrpG6LjalUB7Hh39LaLsa0XOoDBfJWH 0T7dxUB27rNIxcjxtBW4VsZsKwFBlJeIDZ7TuffcVD1+bFzC0qf9EFo3FM9UjPDcqgJD dk/PGb+gofSrS5O7puOX3pIaUo/Zyh/nijmwfmDMfjJ9ftWZTMxosBivNdvvE2rW1uEw I2ww== X-Gm-Message-State: AOAM532sZ095yAWTNY1lkz3ekgdgD2qcZt9lJzBbc+L5gpVA+PmjY/pZ OK4j2GZW7w1GztCZjiOw4gmVmw== X-Received: by 2002:a63:d611:0:b0:3c6:afdf:819b with SMTP id q17-20020a63d611000000b003c6afdf819bmr4622740pgg.513.1652978269170; Thu, 19 May 2022 09:37:49 -0700 (PDT) Received: from google.com (157.214.185.35.bc.googleusercontent.com. [35.185.214.157]) by smtp.gmail.com with ESMTPSA id p6-20020a170902780600b0015e8d4eb24dsm4023212pll.151.2022.05.19.09.37.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 May 2022 09:37:48 -0700 (PDT) Date: Thu, 19 May 2022 16:37:44 +0000 From: Sean Christopherson To: Maxim Levitsky Cc: kvm@vger.kernel.org, Wanpeng Li , Vitaly Kuznetsov , Jani Nikula , Paolo Bonzini , Tvrtko Ursulin , Rodrigo Vivi , Zhenyu Wang , Joonas Lahtinen , Tom Lendacky , Ingo Molnar , David Airlie , Thomas Gleixner , Dave Hansen , x86@kernel.org, intel-gfx@lists.freedesktop.org, Daniel Vetter , Borislav Petkov , Joerg Roedel , linux-kernel@vger.kernel.org, Jim Mattson , Zhi Wang , Brijesh Singh , "H. Peter Anvin" , intel-gvt-dev@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: Re: [RFC PATCH v3 04/19] KVM: x86: mmu: allow to enable write tracking externally Message-ID: References: <20220427200314.276673-1-mlevitsk@redhat.com> <20220427200314.276673-5-mlevitsk@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220427200314.276673-5-mlevitsk@redhat.com> X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 27, 2022, Maxim Levitsky wrote: > @@ -5753,6 +5752,10 @@ int kvm_mmu_init_vm(struct kvm *kvm) > node->track_write = kvm_mmu_pte_write; > node->track_flush_slot = kvm_mmu_invalidate_zap_pages_in_memslot; > kvm_page_track_register_notifier(kvm, node); Can you add a patch to move this call to kvm_page_track_register_notifier() into mmu_enable_write_tracking(), and simultaneously add a WARN in the register path that page tracking is enabled? Oh, actually, a better idea. Add an inner __kvm_page_track_register_notifier() that is not exported and thus used only by KVM, invoke mmu_enable_write_tracking() from the exported kvm_page_track_register_notifier(), and then do the above. That will require modifying KVMGT and KVM in a single patch, but that's ok. That will avoid any possibility of an external user failing to enabling tracking before registering its notifier, and also avoids bikeshedding over what to do with the one-line wrapper to enable tracking.