Received: by 2002:a05:6a10:c7c6:0:0:0:0 with SMTP id h6csp2154098pxy; Mon, 2 Aug 2021 21:51:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwKBGKHQSWHhhAMEbfDDDGdZLnACenbQW9pQOoqQ6eYXeMtjMfeMVQF3bMC1eVsB+C1zIfk X-Received: by 2002:a05:6402:22e9:: with SMTP id dn9mr23652091edb.218.1627966286268; Mon, 02 Aug 2021 21:51:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627966286; cv=none; d=google.com; s=arc-20160816; b=MdgaAvGYTH+pNDfFAXsgLr5Zio6xZr+GPF7q0mDRQgolCzbXydNwLQKjmtJAfLyU+3 zeY+NUFL/7HqR8s7BHeEvVvnykGXkRnDj6RARrGEMoENPT+IMEa9c7Hh2MvBzk86Vi7k sQDj4P/xkxJPFR+RPdC9vLbnBJMlks2vXUb2Ce5CkhGpeXKQ3tEMd8K2cU8srwEcOrkp 8/IySkfIObcOOvbCAH3gB4bp+0SdevBKdrJLLhbkb7dr2u/mIkEgDCFkvJCBH6eVOIDz CnNL4taAOqD6qcyKP627lY+PJooPqtCAzGeW4jR4JYWl8FPEDlgunYr7v19b3VTEqQBG PDZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:mime-version:message-id:date :reply-to:dkim-signature; bh=xUAn1SFGSbX/PJThgRvGPBeZbin4ckymuiwWI24odS0=; b=utTeuU3/ZQg/xFGQTVix63Uk4JRUO2pZgSbSQb64dDO98i3qImDFo8FgRnEobwmZlY i/XZHkFibgbPuJdWfC5jDRRpFA5IhgknOBE38r0o8hn1fUHyw/s1T9oE6uSCDzWT7IVr 8u6Y0GK71WfWo5rry4+a+1kUYE/t5ydXeaD/S80mO+SdtGR/pjw1+G2Sfyn8ZSyv0U7F TOWQDVBE6YSc9vgUBGH2JrbOUcP8tkw7XNoXrw9Ps+dHfcqf4fO0hZm+odUXJtaPT2cD 9wcMYauzh4E6EIApvmWFWzTsDekqZGZMqtKduO+Mq4TKy8DRJEG67PWgaAa4RHJW/tQZ 8V3A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=KXs30yTr; 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 g25si12528743edu.324.2021.08.02.21.51.03; Mon, 02 Aug 2021 21:51:26 -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=KXs30yTr; 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 S233958AbhHCEqy (ORCPT + 99 others); Tue, 3 Aug 2021 00:46:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57714 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233647AbhHCEql (ORCPT ); Tue, 3 Aug 2021 00:46:41 -0400 Received: from mail-pl1-x64a.google.com (mail-pl1-x64a.google.com [IPv6:2607:f8b0:4864:20::64a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D1391C061764 for ; Mon, 2 Aug 2021 21:46:26 -0700 (PDT) Received: by mail-pl1-x64a.google.com with SMTP id a17-20020a170902ecd1b029012c22956f93so15548337plh.7 for ; Mon, 02 Aug 2021 21:46:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=reply-to:date:message-id:mime-version:subject:from:to:cc; bh=xUAn1SFGSbX/PJThgRvGPBeZbin4ckymuiwWI24odS0=; b=KXs30yTrLMEs8DkxavYlwKUkhA5CDXu64qEWjOwtd6o4pU+YkrmTj7ND9fGObVR/kj EyxCauAxgXdmXNp/24JOMoqDzR+NycY5h8p/EAc4VmT7fw3b4L5fmtZwPadGEj+qlKBv Xb0Fieh9GkbPEssAKEIwFKSfFfIQf6Fd/g4ypU2qk/PYZeYpRU4eSLqGcs55WBCoY5uE 20cvGSbZzYEvJ2fjwKIHSkDMEEkf7HVECDyOm0BRCHrzXDAoLKLhaUUN9ClEIIahR8XY QAyo0J9/aI41Z7NEis3m6u5w2zHC0M18ZvFRMRTuoV8noykj826MRJ1/ffSHsAjX7P4M 5KPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:reply-to:date:message-id:mime-version:subject :from:to:cc; bh=xUAn1SFGSbX/PJThgRvGPBeZbin4ckymuiwWI24odS0=; b=TmZ95KwRk3o9TO/zWGsa5OaAK9WLWSLDYTmveCjh9p0hIs6HFnZJIaLeNM989T7gpa 8thPZyNbz9hZXj1jGGUW2+UID46np92HrWbOWX+t8yoOjkiO1rC3C+onllw0TZ7a/PlK JyA7MCitu+r7sVo21i44qhkvWyQRidj6t429YX5U3syfN1nq5Fnz8GNMl3oRJ04f1Wzo f1mX9seKE7KL26lPL6S4LGGOZqnLEwCEZYs1+8B+bOlV8l95mM96E944ZA7MS3bRCm1Z 2zItZVPqdbgy0G6kG4ylkEewM2/xJef2YpSI25/0r8GP8Mnwj49caVzWpO4wMxLaZytr krjg== X-Gm-Message-State: AOAM533rjZBnBduwkoT3izFqD25oFMmWwrURC6FVTISSeR0Qa6qkAOmt U3JzoKiUPR45Vm+o8VvkItCDM/2jkRYZ X-Received: from mihenry-linux-desktop.kir.corp.google.com ([2620:15c:29:204:4304:2e3e:d2f5:48c8]) (user=mizhang job=sendgmr) by 2002:a17:90a:5205:: with SMTP id v5mr2457851pjh.206.1627965986347; Mon, 02 Aug 2021 21:46:26 -0700 (PDT) Reply-To: Mingwei Zhang Date: Mon, 2 Aug 2021 21:46:04 -0700 Message-Id: <20210803044607.599629-1-mizhang@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.32.0.554.ge1b32706d8-goog Subject: [PATCH v4 0/3] Add detailed page size stats in KVM stats From: Mingwei Zhang To: Paolo Bonzini Cc: Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Ben Gardon , David Matlack , Mingwei Zhang , Jing Zhang Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This commit basically adds detailed (large and regular) page size info to KVM stats and deprecate the old one: lpages. To support legacy MMU and TDP mmu, we use atomic type for all page stats. v3 -> v4: - rebase to origin/queue. [sean] - replace the lpages with page stats in place to avoid conflicts. [sean] v2 -> v3: - move kvm_update_page_stats to mmu.h as a static inline function. [sean] - remove is_last_spte check in mmu_spte_clear_track_bits. [bgardon] - change page_stats union by making it anonymous. [dmatlack] v1 -> v2: - refactor kvm_update_page_stats and remove 'spte' argument. [sean] - remove 'lpages' as it can be aggregated by user level [sean] - fix lpages stats update issue in __handle_change_pte [sean] - fix style issues and typos. [ben/sean] pre-v1 (internal reviewers): - use atomic in all page stats and use 'level' as index. [sean] - use an extra argument in kvm_update_page_stats for atomic/non-atomic. [bgardon] - should be careful on the difference between legacy mmu and tdp mmu. [jingzhangos] Mingwei Zhang (2): KVM: x86/mmu: Remove redundant spte present check in mmu_set_spte KVM: x86/mmu: Add detailed page size stats Sean Christopherson (1): KVM: x86/mmu: Avoid collision with !PRESENT SPTEs in TDP MMU lpage stats arch/x86/include/asm/kvm_host.h | 10 ++++++- arch/x86/kvm/mmu.h | 4 +++ arch/x86/kvm/mmu/mmu.c | 50 +++++++++++++++------------------ arch/x86/kvm/mmu/tdp_mmu.c | 9 ++---- arch/x86/kvm/x86.c | 5 +++- 5 files changed, 42 insertions(+), 36 deletions(-) -- 2.32.0.554.ge1b32706d8-goog