Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp1828703pxb; Mon, 12 Apr 2021 07:39:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyqCgUSvYdXu6T68JJh6DKHDKLKj3iKT+kTyMAATT3fAV6eo7ihErcZnZ13o3vqPsmnG29b X-Received: by 2002:a05:6402:34d5:: with SMTP id w21mr29416124edc.14.1618238380902; Mon, 12 Apr 2021 07:39:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618238380; cv=none; d=google.com; s=arc-20160816; b=RLiOv22ScI/4DyT/0Y9q6ofimeePVqyahf1jCFtWY9qh2rSdlE7BrFYWlB0pIe0+Qv V7JC82QNrn4e3oMQTR4btfMyvoCeQnnS9PyTK1Kv5BYfffksgrngFvX1u7f06x7NUYMi 8IvaSJ9abK3EKSrayFkw6cAMDDvYP1Ux7EOmeeVeC0ExNz+UhaPqiYpqRXDdesmVF5uc p8zZpKx9C0oUjiuisH82B8EgVZc1TsAnA9ClOv84Z7hYtBW3vIM6Nm5df2v8EUADKV6A MrgntINKcIp0ox1XowaF7YxrYQZyfqT0sCVHdgGvtMW9UFQXzQ6la6bAt/d/l28MwxO9 3Ecg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:ironport-sdr:ironport-sdr; bh=hubJmPIARlxuP6w+4JXW/nXxVzS3XIa03ADZeNlob1A=; b=eISXa1ShMciR/VYZhJ06WedqRaSEMuczV8374vvFrtdOggwGGe+zdt4CnyOOgC7YjG Ev+b241zRAEZ3cxBLmuzZT05TY/S3T9AwUYKlaPmKvsr5pSDTUWjTqpW6LNZ4jJAUCMm a3b8cotqE+FP1E8UOgJfaig3GFzfsXEi09xTD5xU+ahfHLW3pbV9NzOznk7GSKSAzhtI vKMjpEuR+jdgGN/no4kFRAT/JHTqP8VuecSS7tztf6iMquBNqe8MHdMYFUAJQaKIpNWQ t8zSBS91K2VDV69drwRGVBv7sGY0FYA0KjxNIUtIeAKPNExESGQDxnjy8nIOxzjEgZD5 EqZA== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bm4si7944485edb.69.2021.04.12.07.39.15; Mon, 12 Apr 2021 07:39:40 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242339AbhDLOig (ORCPT + 99 others); Mon, 12 Apr 2021 10:38:36 -0400 Received: from mga09.intel.com ([134.134.136.24]:29177 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237558AbhDLOie (ORCPT ); Mon, 12 Apr 2021 10:38:34 -0400 IronPort-SDR: K7KlrZyzMko4xB/GfK8lM6z6tOa2j0hY15lAErjuLX9R2wxfB9ek3NJ6oiFoKmljOw7i/srXDJ 75/VoTmNALgQ== X-IronPort-AV: E=McAfee;i="6200,9189,9952"; a="194317914" X-IronPort-AV: E=Sophos;i="5.82,216,1613462400"; d="scan'208";a="194317914" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Apr 2021 07:38:16 -0700 IronPort-SDR: uNz7RNuuR+vY6Vj+48uRr572WwXLQS85JPWqBVWkSfvjBN6UDCGhyrargr37dlKZQ2NubAjCIu siHJhGUE9a9A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,216,1613462400"; d="scan'208";a="398392710" Received: from otc-lr-04.jf.intel.com ([10.54.39.41]) by orsmga002.jf.intel.com with ESMTP; 12 Apr 2021 07:38:16 -0700 From: kan.liang@linux.intel.com To: peterz@infradead.org, mingo@kernel.org, linux-kernel@vger.kernel.org Cc: acme@kernel.org, tglx@linutronix.de, bp@alien8.de, namhyung@kernel.org, jolsa@redhat.com, ak@linux.intel.com, yao.jin@linux.intel.com, alexander.shishkin@linux.intel.com, adrian.hunter@intel.com, ricardo.neri-calderon@linux.intel.com, Kan Liang , "Rafael J. Wysocki" , "Ravi V. Shankar" , Srinivas Pandruvada Subject: [PATCH V6 01/25] x86/cpufeatures: Enumerate Intel Hybrid Technology feature bit Date: Mon, 12 Apr 2021 07:30:41 -0700 Message-Id: <1618237865-33448-2-git-send-email-kan.liang@linux.intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1618237865-33448-1-git-send-email-kan.liang@linux.intel.com> References: <1618237865-33448-1-git-send-email-kan.liang@linux.intel.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ricardo Neri Add feature enumeration to identify a processor with Intel Hybrid Technology: one in which CPUs of more than one type are the same package. On a hybrid processor, all CPUs support the same homogeneous (i.e., symmetric) instruction set. All CPUs enumerate the same features in CPUID. Thus, software (user space and kernel) can run and migrate to any CPU in the system as well as utilize any of the enumerated features without any change or special provisions. The main difference among CPUs in a hybrid processor are power and performance properties. Cc: Andi Kleen Cc: Kan Liang Cc: "Peter Zijlstra (Intel)" Cc: "Rafael J. Wysocki" Cc: "Ravi V. Shankar" Cc: Srinivas Pandruvada Cc: linux-kernel@vger.kernel.org Reviewed-by: Len Brown Reviewed-by: Tony Luck Acked-by: Borislav Petkov Signed-off-by: Ricardo Neri --- Changes since v5 (as part of patchset for perf change for Alderlake) * None Changes since v4 (as part of patchset for perf change for Alderlake) * Add Acked-by Changes since v3 (as part of patchset for perf change for Alderlake) * None Changes since V2 (as part of patchset for perf change for Alderlake) * Don't show "hybrid_cpu" in /proc/cpuinfo (Boris) Changes since v1 (as part of patchset for perf change for Alderlake) * None Changes since v1 (in a separate posting): * Reworded commit message to clearly state what is Intel Hybrid Technology. Stress that all CPUs can run the same instruction set and support the same features. --- arch/x86/include/asm/cpufeatures.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h index cc96e26..1ba4a6e 100644 --- a/arch/x86/include/asm/cpufeatures.h +++ b/arch/x86/include/asm/cpufeatures.h @@ -374,6 +374,7 @@ #define X86_FEATURE_MD_CLEAR (18*32+10) /* VERW clears CPU buffers */ #define X86_FEATURE_TSX_FORCE_ABORT (18*32+13) /* "" TSX_FORCE_ABORT */ #define X86_FEATURE_SERIALIZE (18*32+14) /* SERIALIZE instruction */ +#define X86_FEATURE_HYBRID_CPU (18*32+15) /* "" This part has CPUs of more than one type */ #define X86_FEATURE_TSXLDTRK (18*32+16) /* TSX Suspend Load Address Tracking */ #define X86_FEATURE_PCONFIG (18*32+18) /* Intel PCONFIG */ #define X86_FEATURE_ARCH_LBR (18*32+19) /* Intel ARCH LBR */ -- 2.7.4