Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp1480352ybl; Fri, 30 Aug 2019 19:23:19 -0700 (PDT) X-Google-Smtp-Source: APXvYqyr5E3RtDuUYQh+B4wXx/+KMZJK36xhoqh2d1pPgGrwtlHMzqoyswSLZAB7VSw+zazjCZcu X-Received: by 2002:a17:90a:c68c:: with SMTP id n12mr1613048pjt.33.1567218199554; Fri, 30 Aug 2019 19:23:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1567218199; cv=none; d=google.com; s=arc-20160816; b=JfGHI8XOTDi7bgBzQFAfFe+8Gf4caqGA63l5/1v2nyR28YLXO4iYGtjUIQegDQrBk9 v19HsSAqEqJaMzVaYRat0W7iT6upvCmwXeedEQ4MMbY04unj8IO+b5bXxd1xRw81SV8i V4Z6bKMN9+PV+Wip4Kaumm4yaN7b4XbH2APJ2/oAvNmCeP/mGGK69GWxwrAizxNqcEuJ ExZRu5PdQsinVwTyvbPg8YBuVRL17MhoWqWic1g6KKq3FabokjCbQjG76DAOws2k8tJ0 Xq+XptKDJfw7/XC8D3EIjwZyi04AbEjdDUPo55ArNP74F9nuB9qISTADjKMDoZH9eMHW TO9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from; bh=m4d6O2t5JkuJRUZcQlZTzY5l5qQMSqVNdwYWuArz5+8=; b=bZKIlyfd9jwN2oPbx80aki70k7h4ceqCnVKJrHdndF2zd+vrcpIjVhO4oatS8z+lOS uEwEJxlEK6B0b91LFYXuOXPgiksSuWDrm62mJs08Ptld2JXPs9Sa5lseqHP+omrCo9a6 OAwrHvvKlhpxvdqGD7YE9Z6ENZGnDlU4vwNsZj+diVkIyzTEuZtGiwHg1gPA/r+5hnWQ 9SCNHbx6JHN+ssqnPDvyoivg9nuNCi8y0fdY9zEi3FLzez2E1vTqiZ2b8tZUl5opFazW DsB/gWpCzdGVOcCFTmf4IjuKBkxASb8KVy7OeYwg5DeFZaAh+B5GD2s2fRz5cHxjDx5b Ma0w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=hygon.cn Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z15si6297629pjq.90.2019.08.30.19.23.03; Fri, 30 Aug 2019 19:23:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=hygon.cn Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728428AbfHaCV7 (ORCPT + 99 others); Fri, 30 Aug 2019 22:21:59 -0400 Received: from [110.188.70.11] ([110.188.70.11]:6810 "EHLO spam1.hygon.cn" rhost-flags-FAIL-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728410AbfHaCV6 (ORCPT ); Fri, 30 Aug 2019 22:21:58 -0400 Received: from MK-FE.hygon.cn ([172.23.18.61]) by spam1.hygon.cn with ESMTP id x7V2L0jd005974; Sat, 31 Aug 2019 10:21:00 +0800 (GMT-8) (envelope-from puwen@hygon.cn) Received: from cncheex01.Hygon.cn ([172.23.18.10]) by MK-FE.hygon.cn with ESMTP id x7V2KplQ015477; Sat, 31 Aug 2019 10:20:51 +0800 (GMT-8) (envelope-from puwen@hygon.cn) Received: from pw-vbox.hygon.cn (172.23.18.44) by cncheex01.Hygon.cn (172.23.18.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1466.3; Sat, 31 Aug 2019 10:20:58 +0800 From: Pu Wen To: , CC: , , Pu Wen Subject: [RFC PATCH v2] tools/power turbostat: Add support for Hygon Fam 18h (Dhyana) RAPL Date: Sat, 31 Aug 2019 10:20:31 +0800 Message-ID: <1567218031-4401-1-git-send-email-puwen@hygon.cn> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [172.23.18.44] X-ClientProxiedBy: cncheex02.Hygon.cn (172.23.18.12) To cncheex01.Hygon.cn (172.23.18.10) X-MAIL: spam1.hygon.cn x7V2L0jd005974 X-DNSRBL: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit 9392bd98bba760be96ee ("tools/power turbostat: Add support for AMD Fam 17h (Zen) RAPL") and the commit 3316f99a9f1b68c578c5 ("tools/power turbostat: Also read package power on AMD F17h (Zen)") add AMD Fam 17h RAPL support. Hygon Family 18h(Dhyana) support RAPL in bit 14 of CPUID 0x80000007 EDX, and has MSRs RAPL_PWR_UNIT/CORE_ENERGY_STAT/PKG_ENERGY_STAT. So add Hygon Dhyana Family 18h support for RAPL. Already tested on Hygon multi-node systems and it shows correct per-core energy usage and the total package power. Signed-off-by: Pu Wen Reviewed-by: Calvin Walton --- tools/power/x86/turbostat/turbostat.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c index 1cd28eb..d42f3f5 100644 --- a/tools/power/x86/turbostat/turbostat.c +++ b/tools/power/x86/turbostat/turbostat.c @@ -60,6 +60,7 @@ unsigned int do_irtl_hsw; unsigned int units = 1000000; /* MHz etc */ unsigned int genuine_intel; unsigned int authentic_amd; +unsigned int hygon_genuine; unsigned int max_level, max_extended_level; unsigned int has_invariant_tsc; unsigned int do_nhm_platform_info; @@ -1714,7 +1715,7 @@ void get_apic_id(struct thread_data *t) if (!DO_BIC(BIC_X2APIC)) return; - if (authentic_amd) { + if (authentic_amd || hygon_genuine) { unsigned int topology_extensions; if (max_extended_level < 0x8000001e) @@ -3803,6 +3804,7 @@ double get_tdp_amd(unsigned int family) { switch (family) { case 0x17: + case 0x18: default: /* This is the max stock TDP of HEDT/Server Fam17h chips */ return 250.0; @@ -3982,6 +3984,7 @@ void rapl_probe_amd(unsigned int family, unsigned int model) switch (family) { case 0x17: /* Zen, Zen+ */ + case 0x18: /* Hygon Dhyana */ do_rapl = RAPL_AMD_F17H | RAPL_PER_CORE_ENERGY; if (rapl_joules) { BIC_PRESENT(BIC_Pkg_J); @@ -4018,7 +4021,7 @@ void rapl_probe(unsigned int family, unsigned int model) { if (genuine_intel) rapl_probe_intel(family, model); - if (authentic_amd) + if (authentic_amd || hygon_genuine) rapl_probe_amd(family, model); } @@ -4600,6 +4603,8 @@ void process_cpuid() genuine_intel = 1; else if (ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65) authentic_amd = 1; + else if (ebx == 0x6f677948 && ecx == 0x656e6975 && edx == 0x6e65476e) + hygon_genuine = 1; if (!quiet) fprintf(outf, "CPUID(0): %.4s%.4s%.4s ", -- 2.7.4