From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2A784280335 for ; Sat, 6 Dec 2025 00:17:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764980279; cv=none; b=SW4PqsKfQz053jY+l8CNtT5g1RDdARMWuGjNf0saUm7luj5tYWzIY73i49rJpI8keuV4bGPtDV77czV7iXi2hor6ldOacY6KYAdOh603zzsF0si1tHJrwAZsGFM9vCal/Upqdiy49sMbnXBa2lNQo1itL6dQAhiVYntC+cFgIJQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764980279; c=relaxed/simple; bh=tj6t2t4Ed4eDjoeIXxejgP4HqHkh0nNCA/O27IqihCM=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=rQTJg3dB37Inpb+Xyx3+KpunhJcalYzKWAIqaTFEYKfRuhrvbc2Ge/yjIsAoIEsezNML9n0a+txKcd5WefphqpcyXE6ZPf5RtABBLHKHJCtBxCA6RJN26bgAgyn2wryT0DJ3+SSQdphjx5mPBv3qW0QNCL8OHQ4VfWFg/LYlL70= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=g7xckl+P; arc=none smtp.client-ip=209.85.214.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="g7xckl+P" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-2980ef53fc5so55548975ad.1 for ; Fri, 05 Dec 2025 16:17:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1764980276; x=1765585076; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=RvT5QOLTrPlZDM6KRmJviB3G20BHxxiuQcblXVA4XhQ=; b=g7xckl+P87b6HbODAOyT/O8Ipex0KWgqAc+ZzCIL9NjsLCFEDIRpfBYM9auy7pMQ5t VERXFbqzPC6PofStt7lVol1EdHMzHQCp9kT2JRovo5/3hbHsf8ttzfYqTRFK6TuBRAty Cu1XCTP1ut6Lb3EX2tlSoxtsd8Qke9ORXfEKFCmPRbxJVVq80Afom8vtxIQd9NOTti0t mCsRj+HiuWs/o8Vk7E3gcZuPygdMomU8BYMc+Faz0GzANqJuyWuK8OBumvj4uI7q48m0 djTghDTCuIMJucbuy8EibimzuBejPSuhkXunuW6vjD1hCThXPeqpqUzE2EKmosC67SNU Aygg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764980276; x=1765585076; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RvT5QOLTrPlZDM6KRmJviB3G20BHxxiuQcblXVA4XhQ=; b=bSraia0oXAXABZeoeYYNCgWMXBTdUj6AGDRZ04C55gxprlcZIQ6MZAsAfpKM8+QHpA jtYXOgBp6Z+5PK621p/HHo5Lb2JPtktu/vrcl7VoMdceyJpgIvObRrM+hukCgdPMvtu+ Yb5wuHUh66sz0o8rVZoYQ8B3amPx0vNPJWHMrn7T0RNGrG8bc5zZAQmatSvSfl1LaEbH A1604MjWLp0tawpesvA8WuC95nDDqzDKN7VvGjmA5YRsAkVDVkFdA9AuCI3xBtv+Ieu7 1aSBhfff9YzhsuwCTV3Y3I2ihldoeTogNMs0FTKPw9RQDp5BKk8zfoeQavYNNPEhiwnZ b1AQ== X-Forwarded-Encrypted: i=1; AJvYcCXscMGQlQ1nAlbWaCLTW+P+hwduHapTCHhbiGYA1twYz68M2DJx2GPgERZqcGoKG3pL0Y8MMiDGAENrR0kMYukp@vger.kernel.org X-Gm-Message-State: AOJu0YwmPZQNCrRTt+7ouLpNkuCdnTnUm1GUJy2phC+ya12KarVLC97Y Dex9eDpM53/5vuthGaOVOJeTxFyZQpoz6cd29MkL632Dzn225RyehkXdWax+ttrjT8fe2MrJZ0y 5g1UHzw== X-Google-Smtp-Source: AGHT+IGYBlCmb/gXYXB/w+eLYeN/6lSsoZJHvJE9tm9YKGnjFm45dzt4nCYHuTcqC75ktumYKLC92IIPc9g= X-Received: from plbko16.prod.google.com ([2002:a17:903:7d0:b0:29d:5afa:2c1]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:d488:b0:295:5668:2f2e with SMTP id d9443c01a7336-29df880d025mr4171385ad.37.1764980276326; Fri, 05 Dec 2025 16:17:56 -0800 (PST) Reply-To: Sean Christopherson Date: Fri, 5 Dec 2025 16:16:51 -0800 In-Reply-To: <20251206001720.468579-1-seanjc@google.com> Precedence: bulk X-Mailing-List: linux-perf-users@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20251206001720.468579-1-seanjc@google.com> X-Mailer: git-send-email 2.52.0.223.gf5cc29aaa4-goog Message-ID: <20251206001720.468579-16-seanjc@google.com> Subject: [PATCH v6 15/44] KVM: x86/pmu: Snapshot host (i.e. perf's) reported PMU capabilities From: Sean Christopherson To: Marc Zyngier , Oliver Upton , Tianrui Zhao , Bibo Mao , Huacai Chen , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Xin Li , "H. Peter Anvin" , Andy Lutomirski , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Sean Christopherson , Paolo Bonzini Cc: linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, kvm@vger.kernel.org, loongarch@lists.linux.dev, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Mingwei Zhang , Xudong Hao , Sandipan Das , Dapeng Mi , Xiong Zhang , Manali Shukla , Jim Mattson Content-Type: text/plain; charset="UTF-8" Take a snapshot of the unadulterated PMU capabilities provided by perf so that KVM can compare guest vPMU capabilities against hardware capabilities when determining whether or not to intercept PMU MSRs (and RDPMC). Reviewed-by: Sandipan Das Tested-by: Xudong Hao Signed-off-by: Sean Christopherson --- arch/x86/kvm/pmu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c index 487ad19a236e..7c219305b61d 100644 --- a/arch/x86/kvm/pmu.c +++ b/arch/x86/kvm/pmu.c @@ -108,6 +108,8 @@ void kvm_init_pmu_capability(const struct kvm_pmu_ops *pmu_ops) bool is_intel = boot_cpu_data.x86_vendor == X86_VENDOR_INTEL; int min_nr_gp_ctrs = pmu_ops->MIN_NR_GP_COUNTERS; + perf_get_x86_pmu_capability(&kvm_host_pmu); + /* * Hybrid PMUs don't play nice with virtualization without careful * configuration by userspace, and KVM's APIs for reporting supported -- 2.52.0.223.gf5cc29aaa4-goog