Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp7097349rwb; Tue, 6 Dec 2022 00:47:04 -0800 (PST) X-Google-Smtp-Source: AA0mqf7VPAMuoEpmP8oUW3+3XoE8Oooka6uDdIXItTInorAnZPhjFAvkherqJNxt2M5yTvPZZS2L X-Received: by 2002:a65:45c5:0:b0:46e:c7be:16fc with SMTP id m5-20020a6545c5000000b0046ec7be16fcmr57767263pgr.462.1670316423844; Tue, 06 Dec 2022 00:47:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670316423; cv=none; d=google.com; s=arc-20160816; b=PIraRsO6PtZ6HKL8MpJJzWZ1gX7PClG7Tqj4nzLyuO/R5jjZ3HhG8AqNL4dRfWK3Vi Kti3RYWfuWT0eo1BqSnxhL+2LUgsPGlJgJxXBU3Ra4KS4zPq1fz1ly7u9AhsOEUnFBC/ zuZcIzZg0FGtOgr2N3g+kGTlBLpLMO00+EtK6JhPcXi4zFWkMoowhoH2kFvV31YiPGKE KLioK0KHdzyq9ddDaM0VzgWBrKmLPy7iljeWl6em4hM3Sj/0gbh70qzIIoC1E/sDSxup ueFWwKhWmNKSH8SXuLzDsFXJU/eSj/k5Akzuhb9/4ZeQvhi8ErY0uTdvxW/9L0oaWqK5 NGmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=a04oUGY9n3fJGrXo8icImVtwc+ewjypnXhaaNSDY1GQ=; b=tNjXm/bf9ezvLIfeihZueEuMPpvWITmmqPOJc8krZzwCLnyn/n95/KHyUtfDUDa1Y5 yGFwpQeJUWb3PtT9vac/x0x/z4074NXtePhlpf1nU8E9kKUHmOb1MIg/sxs+73eW58MN glwXgtGWfyVnXQhdTPqJBiMZt9qNCUlXMMQYYQn2/5uc3Cqp48AvzuHDvXm6HP6A1dWm NE5KsPnieh+fDED1cP9pqE8EA/9umUo1h2luX4l50p7Q7+Je6Xy9zjU17Zv/C7FVOaQA sipPuN9k8ZUj1ayCjmA7a2hMPgh/00CK5A5hfSB69XoaouexJ00YWazR7LPRdH/f2qyM ihcw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ffnkQM8m; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e64-20020a636943000000b00478a53c6715si7433454pgc.289.2022.12.06.00.46.53; Tue, 06 Dec 2022 00:47:03 -0800 (PST) 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=@gmail.com header.s=20210112 header.b=ffnkQM8m; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233927AbiLFIa0 (ORCPT + 79 others); Tue, 6 Dec 2022 03:30:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56886 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233585AbiLFIaO (ORCPT ); Tue, 6 Dec 2022 03:30:14 -0500 Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com [IPv6:2607:f8b0:4864:20::102a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 18A821B784; Tue, 6 Dec 2022 00:30:09 -0800 (PST) Received: by mail-pj1-x102a.google.com with SMTP id w4-20020a17090ac98400b002186f5d7a4cso17389058pjt.0; Tue, 06 Dec 2022 00:30:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=a04oUGY9n3fJGrXo8icImVtwc+ewjypnXhaaNSDY1GQ=; b=ffnkQM8md00BOrMgIrR3OQZYzhrii36HasWPdUxYB3CgDo6No5kJFd/i9K+xbHtLM7 1NDNH+BlJfyHXiizyks0KVClq5KwqE/ZU4E9jO5j5VNnKAsExCuivoQikD59srPvvNEq nZSVM3GZrE3aWExVe9ZFPT/p1R8nZzTgKed/QJrrQri63Xwl2vmVjv4sncRIQnvhmDbl zifnMl7Td5TfcouQlYF7i5DihELWQgL+vPGnXir/P1GWFS104Y/kvgf89Us3U6tu6UYt xkmP/zSaqQ4EeqCKiH83kcTc2DcQEe2uUSOzlOmceZnq42awAbh0Y5YV6amwVLzNiCIv LKnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=a04oUGY9n3fJGrXo8icImVtwc+ewjypnXhaaNSDY1GQ=; b=hjnCny9cCulD8YGNqM4jQi18pUBqe608JPzT9VYpzij+rNhQYDAb4fF8lBpTmoaLpb JMV6JVVNgYGMD3dc5KAJ1G9JV6WtWSbBQmvZFJp9qprlPws/I13Khnabo9PQKr6/XETF ep4BwiqrPkQUiQ5yc+awZSLdXJHVNBHnCrPJLx1pxfOY7+8kdeHcs3cA0iq3PRsr129i bBdaBAa7A3DFWyqqB9a0bx0Rjdt1Ho+AiUJkWgpNZ294SDpIRZc9YxzDjKIRFwoPTN0x xxxf7/FiZfZTDdh/4zM3ygfyWMg6vn9Hs7ShRJRtHCsTT800dKhtyUfHmFYb3HVLDLy8 dBbQ== X-Gm-Message-State: ANoB5plXGkg4aTCKNpOmGAZ6GtahoGLkZr/jxWJYygprXBdE8mx72uHR 56DBIB+ya8Gj05ihDQ7JAajKz+wkSdgbEA== X-Received: by 2002:a17:90a:9f46:b0:219:b1db:f7e3 with SMTP id q6-20020a17090a9f4600b00219b1dbf7e3mr14235394pjv.64.1670315408566; Tue, 06 Dec 2022 00:30:08 -0800 (PST) Received: from localhost.localdomain ([103.7.29.32]) by smtp.gmail.com with ESMTPSA id h15-20020a056a00000f00b00574d38f4d37sm11203330pfk.45.2022.12.06.00.30.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Dec 2022 00:30:08 -0800 (PST) From: Like Xu X-Google-Original-From: Like Xu To: Paolo Bonzini Cc: Sean Christopherson , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Subject: [PATCH RESEND v3 1/3] KVM: x86/pmu: Disable guest PEBS on hybird cpu due to heterogeneity Date: Tue, 6 Dec 2022 16:29:42 +0800 Message-Id: <20221206082944.59837-2-likexu@tencent.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221206082944.59837-1-likexu@tencent.com> References: <20221206082944.59837-1-likexu@tencent.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS 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 From: Like Xu From vPMU enabling perspective, KVM does not have proper support for hybird x86 core. The reported perf_capabilities value (e.g. the format of pebs record) depends on the type of cpu the kvm-intel module is init. When a vcpu of one pebs format migrates to a vcpu of another pebs format, the incorrect parsing of pebs records by guest can make profiling data analysis extremely problematic. The safe way to fix this is to disable this part of the support until the guest recognizes that it is running on the hybird cpu, which is appropriate at the moment given that x86 hybrid architectures are not heavily touted in the data center market. Signed-off-by: Like Xu --- arch/x86/kvm/vmx/capabilities.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/vmx/capabilities.h b/arch/x86/kvm/vmx/capabilities.h index cd2ac9536c99..ea0498684048 100644 --- a/arch/x86/kvm/vmx/capabilities.h +++ b/arch/x86/kvm/vmx/capabilities.h @@ -392,7 +392,9 @@ static inline bool vmx_pt_mode_is_host_guest(void) static inline bool vmx_pebs_supported(void) { - return boot_cpu_has(X86_FEATURE_PEBS) && kvm_pmu_cap.pebs_ept; + return boot_cpu_has(X86_FEATURE_PEBS) && + !boot_cpu_has(X86_FEATURE_HYBRID_CPU) && + kvm_pmu_cap.pebs_ept; } static inline bool cpu_has_notify_vmexit(void) -- 2.38.1