From patchwork Mon May 6 05:30:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mingwei Zhang X-Patchwork-Id: 13654948 Received: from mail-yw1-f201.google.com (mail-yw1-f201.google.com [209.85.128.201]) (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 66D927D06E for ; Mon, 6 May 2024 05:31:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714973503; cv=none; b=o6mfrPLY30tZ7o17P0wkRZfyQsHA5JVQtUWUIKeTDfuPiAEUtzR2P+3B+4L9pnrywXXm5fYNzR2flx2UhCpRZhU7Awwwm46bDmvKAFvX+WS41FbWXE6+OXzLqGEuJjcekhy+vf1nZ14lFIquwWyj1ZFV+XyR7sTnfHZMgwU2U+4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714973503; c=relaxed/simple; bh=DZSWdRseL57JFKlw31VsawawKE+k1mERzVTXnFwL8t8=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=oqW3UvjJtQqgkfoG6w+0SY+yqN5WIQ6fDYP2sEAGY8mmZ1/eXYj2bIkexsp9QQkg6U/CPhfGeqqie3TBVeElTs9lR2p4WojtEKr/q/9P4T7zKTJSMs06Cl7suck9AtBzot0z4R94dNlN1bbAIsETpNnXJnvZLxIxSXwdGG/0Phk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--mizhang.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=SKyaCDgP; arc=none smtp.client-ip=209.85.128.201 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--mizhang.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="SKyaCDgP" Received: by mail-yw1-f201.google.com with SMTP id 00721157ae682-61e0949fc17so31927587b3.0 for ; Sun, 05 May 2024 22:31:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1714973499; x=1715578299; 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=+tZnFPelKgQ9+tzFE8Krjkx+y5cOXsHDjgrtYLK1tdU=; b=SKyaCDgPs0SqsQvtFpKVxVIpRWGasksJcKtMFQfI39e8WrT2pV4N+RJv4BmsyS1xQf z5+GQqSNIpCY9s2YmFNsO38pNRWY76WwBlTZTn9J7XksF85+M8kM2a4SuP5dQZqpeZuk ZOIgiqxiGhX6cOFJalTiuPIh25i6rT8gU3XoiIt5DFF0gHUymACINF7RMga5eyyRwVOn FH2ub62doRtadLWWyBKD4lvXlhT6IXzuxmDNgmI+09F8Pun6nMsYN18YdGwYNLAy8S1u DhOgDWq8V4qBrYdqrCpyCK2Gyo8tzcKkmpx2r0cO0uiln1hQx/tfAneeUwbpL+b50Rn/ 4bpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714973499; x=1715578299; 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=+tZnFPelKgQ9+tzFE8Krjkx+y5cOXsHDjgrtYLK1tdU=; b=FBWkNVpfh4iIhOiaZbJPoFPxO8lcyk3Y0ZZoJ31O7L9Q+KAeVuQnMk69LcQmc2fkn+ rVERRfrc7UI42i4oKRYvsvLyUDsH5gL8D22ZNPnyJFBEz1E9vKvvxcal9b24qkBx3mx1 kFOYPXKkyGlCer8S8lt69RTFZ2IBGS67tKiak0UcPErFIETX5zGnXtB89FIwpMrzMU2t 6G8E7oo3dCj8o/hg2Kun2RAa9qnwWr1Jc5ma4XTBwKkwf+H07UQ9fPfMxBWM9cZgKcZW O1iy8uvvwFc1am+tvdOaW1EBHjofQ2P/i44/NqVWKxnwTtWxFpKWxBJqsMZ4IxpeIwuM w/Fw== X-Forwarded-Encrypted: i=1; AJvYcCXrVLLuO6YWjpxsZpGt5wv6IcLabX1jjOl1cvZ5b3MhR/MTigOU4ox9Hzg++CR2/bT8ZaOdVGZQJShCQ1XvMcAvKphH X-Gm-Message-State: AOJu0YzhXfgv4KBsUXvKrTzs0gTTxakXhVzWw9b/VJ7Pe9LDzRrPNy10 PxkMdsxQ0uu8ypxSIPfBZpzr5EdQcy3a0X52/MSlPb7KTJtOPaZyir4yYNTfhwMkxY8XV+v1zTY pSh7eBQ== X-Google-Smtp-Source: AGHT+IFxvZEFzZ0XjsZJVKcgg1TsSUA3w/oGHhz5UHk6n/ARs05crQP25w+vO++u4YwKRI3SvMzeI9D4Wg9Y X-Received: from mizhang-super.c.googlers.com ([34.105.13.176]) (user=mizhang job=sendgmr) by 2002:a0d:d857:0:b0:61b:e524:f91a with SMTP id a84-20020a0dd857000000b0061be524f91amr2194694ywe.10.1714973499542; Sun, 05 May 2024 22:31:39 -0700 (PDT) Reply-To: Mingwei Zhang Date: Mon, 6 May 2024 05:30:03 +0000 In-Reply-To: <20240506053020.3911940-1-mizhang@google.com> Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20240506053020.3911940-1-mizhang@google.com> X-Mailer: git-send-email 2.45.0.rc1.225.g2a3ae87e7f-goog Message-ID: <20240506053020.3911940-39-mizhang@google.com> Subject: [PATCH v2 38/54] KVM: x86/pmu: Call perf_guest_enter() at PMU context switch From: Mingwei Zhang To: Sean Christopherson , Paolo Bonzini , Xiong Zhang , Dapeng Mi , Kan Liang , Zhenyu Wang , Manali Shukla , Sandipan Das Cc: Jim Mattson , Stephane Eranian , Ian Rogers , Namhyung Kim , Mingwei Zhang , gce-passthrou-pmu-dev@google.com, Samantha Alt , Zhiyuan Lv , Yanfei Xu , maobibo , Like Xu , Peter Zijlstra , kvm@vger.kernel.org, linux-perf-users@vger.kernel.org From: Xiong Zhang perf subsystem should stop and restart all the perf events at the host level when entering and leaving passthrough PMU respectively. So invoke the perf API at PMU context switch functions. Signed-off-by: Xiong Zhang Signed-off-by: Dapeng Mi --- arch/x86/events/core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c index f5a043410614..6fe467bca809 100644 --- a/arch/x86/events/core.c +++ b/arch/x86/events/core.c @@ -705,6 +705,8 @@ void x86_perf_guest_enter(u32 guest_lvtpc) { lockdep_assert_irqs_disabled(); + perf_guest_enter(); + apic_write(APIC_LVTPC, APIC_DM_FIXED | KVM_GUEST_PMI_VECTOR | (guest_lvtpc & APIC_LVT_MASKED)); } @@ -715,6 +717,8 @@ void x86_perf_guest_exit(void) lockdep_assert_irqs_disabled(); apic_write(APIC_LVTPC, APIC_DM_NMI); + + perf_guest_exit(); } EXPORT_SYMBOL_GPL(x86_perf_guest_exit);