From patchwork Tue Jan 30 05:56:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yuan, Perry" X-Patchwork-Id: 13536913 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2077.outbound.protection.outlook.com [40.107.244.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C53E3381CF; Tue, 30 Jan 2024 05:56:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594217; cv=fail; b=EHSLSGL9WV/lPOFnDngGtRpOpFRsyKYWxa8gTFB5rpz3WFt+OTroAfRJOwBgtSBuBk1EkpitPuKZu5GB2gsb6f91rq3t/SOC8O3dSQ1c3yHeBuSZEdJSOY3edFPNk/igJDsbrd/x+6fy89BG1LUFGdsA9Nz6k89u5kU3keWvf/k= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594217; c=relaxed/simple; bh=RD+ecJhVhLsoT8daC5wFIiOq6Catkv1Z4Ie1TUS6CXs=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=G5vevcRck6OYEgKwdrUQLRGtsr9L4+5BAGRU1NB1vRzi19RzqnM4bzBh2/PNRgfDP6uRnMjRZCWGhqE5uAee34xJ6V6Pt1iRSgJs+vz6Mh1VqhtBcbISgv1UtOv57gH5yCjVduqRIbapvXGELpKU+vZesDwNyU+VnWKN/XAzq2Y= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=1F4Y5TH+; arc=fail smtp.client-ip=40.107.244.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="1F4Y5TH+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gq7XUhNFY1D03mT7JmxA0/IeMQfV4aH/MUFDQYN2W3cSd9HzjgPGGV6WXYQRVniBCuSoVkzmExGQugC/97nzlLxHEUPiEwsdAooQs4m1Riy21ELehdtxwPe2z9wUX+K1vXYPTayCDQV7DCkEW0vk5HAzoc12LZ3FbJ0I1rjxknRwhqjR35RhEXfOXqrje9Wk4vt2Y/TvwgKMMr4K7a2hUZFj4pEq79+ureQ/U+S7lIulPcMnrMYcTl8dm5y16AXBddyREN08jDMTVSixv0N1NOkbagBFKVRvbkSI4RK28IPQWfqpBs2USpjdi3BS8Pk+gDZujqc98tPKDacV5lPeVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=coyXAFBt2hffQGMW99CX0xxsYWfs7o/9RjHDdqsbAlY=; b=oOzyeJdJqDIVcGO4MP69BXMnzZUBncNfFOzeVATDzwdqmsej8cRKinF1hJkJMLiczvpImQkmsuCIS21j5Br1KHiDH/Q88YfTSjir3CJJQJ5G4XqtBmE+dHL7h0SZCuXsn77b9Sk6BaVr/vqVZ+rtExkyeruxjSDH07Bl42Gq5Ilu2PWwtYOQoK0b7lhCX0tGK8CPz9/1L68S1zZyh/9LRCOL2ETbSue642pm5snPJEhkJfhlKkyIad+fSKpNWNOu3Ls7d2tPgrq3Oozl9RwyA/pf8Gc/WH8mpIftovBJdzslN1CZDVhbFPwTL9vDJ4vCLiKI6B/2E7giypWuI2YDGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=coyXAFBt2hffQGMW99CX0xxsYWfs7o/9RjHDdqsbAlY=; b=1F4Y5TH+5tzRgGQ+3/ZODdaFXU6s5zh69UtAVT4kY3SxZ/N6+j/Pft6GzLDSCxWWZbjBNQLzbWkP9TYjFnXnPTVj8+dR9JgSAULVtYf1zAra90iUzQw9iphqd8l5g/VCfxjJSH3Jbjd/bjsecLoHvMBWk9WPldE1QIjpa6r7+wc= Received: from CYXPR02CA0010.namprd02.prod.outlook.com (2603:10b6:930:cf::21) by DS0PR12MB6416.namprd12.prod.outlook.com (2603:10b6:8:cb::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.29; Tue, 30 Jan 2024 05:56:53 +0000 Received: from CY4PEPF0000EDD4.namprd03.prod.outlook.com (2603:10b6:930:cf:cafe::4f) by CYXPR02CA0010.outlook.office365.com (2603:10b6:930:cf::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34 via Frontend Transport; Tue, 30 Jan 2024 05:56:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EDD4.mail.protection.outlook.com (10.167.241.208) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7249.19 via Frontend Transport; Tue, 30 Jan 2024 05:56:53 +0000 Received: from pyuan-Chachani-VN.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Mon, 29 Jan 2024 23:56:49 -0600 From: Perry Yuan To: , , , , , CC: , , , , , Subject: [PATCH Resend 1/8] tools/power x86_energy_perf_policy: add info show support for AMD Pstate EPP driver Date: Tue, 30 Jan 2024 13:56:25 +0800 Message-ID: <445ff0fcfa7b3c8f8e687819ebbd111e3c1c4b80.1706592301.git.perry.yuan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD4:EE_|DS0PR12MB6416:EE_ X-MS-Office365-Filtering-Correlation-Id: 30819a09-5b89-4817-1b9e-08dc21584242 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YfBG+BZkG4p2KtIZRKn6McpBccdXu/OsegEHyxlFqpnrRKQRxpbGaLvjqIf0Pfv1koN/jyiskwIegVm/d0EJ33jcQzld7kkhDOhugaMY8AOWjRXDg1YpC40mylIAy9cG+WnKmMToTiyOGzrGYxjozsJufTj/KorxVqxIWGrPgVv1mbFj/cPI1q56Xo2zeomZzR0BWvykkScLKiALymKUrD/Chn5m+0EXACcQELiWJV5Jtbg8Vq14TL1hqUYjlUzCI6fqnZkyNE4EME+CgkRuEhBk40JPZUggrfgLTvfxoIh/fRNBt/1nRi3nPLZnWWKqL+afUroS01fJgd03pJ2cabh1MimbnFRKIVyGfzE8cDr7ElUqbLqNi0SJdRYETWMTPvj3Q5Jz7NNNmfEH7yEmI+JhQvNVYOL4+NSNq0TmorDmy9JrPU1uDsZNQwnWZnGnGm3F+gIKjZuBLsPkUaU53TDDrCNDnaeaRlt+vBtoXGhEH9A9ckCFpEO6TaKcTrBhifarkQDBGPzPDeIdIpTBRJVIfuBAga9j1oX4+XD3cnDFEY/10ZJWSc2YqGLn9/Mr1qAJFpN2HDAINFEtOy+rJFFrGIC+PiAeT9RibtrswycBlCWdhsFWhFkZA5gqGXqM7IPDJhQTmavUWzj15mhRpkVmH3dmJNUtPrqAprOCDrZER8PNNaYJ9W1MFjiwZB26gFcMxMrK2mmTglygUDflgIEmMiSH4RsWESZLx6GVkoarcz5SzGWYzJk3Mf6j2vfhOnvRN/ysSB3Kki4WeeiFng== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(396003)(136003)(346002)(376002)(39860400002)(230922051799003)(1800799012)(82310400011)(186009)(64100799003)(451199024)(40470700004)(46966006)(36840700001)(316002)(54906003)(110136005)(83380400001)(70586007)(86362001)(47076005)(70206006)(6636002)(478600001)(40460700003)(40480700001)(6666004)(36860700001)(82740400003)(81166007)(7696005)(426003)(336012)(16526019)(2616005)(26005)(8676002)(8936002)(4326008)(356005)(44832011)(30864003)(5660300002)(2906002)(41300700001)(36756003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 05:56:53.1141 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 30819a09-5b89-4817-1b9e-08dc21584242 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EDD4.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6416 From: Perry Yuan With the amd pstate epp driver implemented, the x86_energy_perf_policy will need to implemented the utility support to display hardware energy and performance policy hint information on the AMD processors. Signed-off-by: Perry Yuan --- .../x86_energy_perf_policy.c | 211 ++++++++++++++---- 1 file changed, 167 insertions(+), 44 deletions(-) diff --git a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c index 5fd9e594079c..5daf1c2bb601 100644 --- a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c +++ b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c @@ -76,6 +76,8 @@ unsigned long long pkg_selected_set; cpu_set_t *cpu_present_set; cpu_set_t *cpu_selected_set; int genuine_intel; +unsigned int authentic_amd; +unsigned int max_level; size_t cpu_setsize; @@ -724,6 +726,53 @@ int put_msr(int cpu, int offset, unsigned long long new_msr) return 0; } +static int amd_put_msr(int cpu, off_t offset, unsigned long msr) +{ + ssize_t retval; + int fd; + char pathname[32]; + + sprintf(pathname, "/dev/cpu/%d/msr", cpu); + fd = open(pathname, O_RDWR); + if (fd < 0) { + err(-EACCES, "%s open failed, try chown or chmod +r /dev/cpu/*/msr, or run as root", pathname); + goto out; + } + retval = pwrite(fd, &msr, sizeof(msr), offset); + if (retval != sizeof(msr)) + err(-EFAULT, "cpu%d: msr offset 0x%lx write failed ret = %ld fd = %d", cpu, (unsigned long)offset, retval, fd); + + if (debug > 1) + fprintf(stderr, "amd_put_msr(cpu%d, 0x%lx, 0x%lX)\n", cpu, offset, msr); + + close(fd); + +out: + return (retval == sizeof(msr)) ? 0 : -1;; +} + + +static int amd_get_msr(int cpu, off_t offset, unsigned long *msr) +{ + ssize_t retval; + char pathname[32]; + int fd; + + sprintf(pathname, "/dev/cpu/%d/msr", cpu); + fd = open(pathname, O_RDONLY); + if (fd < 0) { + err(-EACCES, "%s open failed, try chown or chmod +r /dev/cpu/*/msr, or run as root", pathname); + goto out; + } + retval = pread(fd, msr, sizeof(*msr), offset); + if (retval != sizeof *msr) + err(-EFAULT, "cpu%d: msr offset 0x%llx read failed", cpu, (unsigned long long)offset); + + close(fd); +out: + return (retval == sizeof *msr) ? 0 : -1;; +} + static unsigned int read_sysfs(const char *path, char *buf, size_t buflen) { ssize_t numread; @@ -777,13 +826,21 @@ void print_hwp_cap(int cpu, struct msr_hwp_cap *cap, char *str) void read_hwp_cap(int cpu, struct msr_hwp_cap *cap, unsigned int msr_offset) { unsigned long long msr; + int ret; - get_msr(cpu, msr_offset, &msr); - - cap->highest = msr_perf_2_ratio(HWP_HIGHEST_PERF(msr)); - cap->guaranteed = msr_perf_2_ratio(HWP_GUARANTEED_PERF(msr)); - cap->efficient = msr_perf_2_ratio(HWP_MOSTEFFICIENT_PERF(msr)); - cap->lowest = msr_perf_2_ratio(HWP_LOWEST_PERF(msr)); + if (genuine_intel) { + get_msr(cpu, msr_offset, &msr); + cap->highest = msr_perf_2_ratio(HWP_HIGHEST_PERF(msr)); + cap->guaranteed = msr_perf_2_ratio(HWP_GUARANTEED_PERF(msr)); + cap->efficient = msr_perf_2_ratio(HWP_MOSTEFFICIENT_PERF(msr)); + cap->lowest = msr_perf_2_ratio(HWP_LOWEST_PERF(msr)); + } else if (authentic_amd) { + ret = amd_get_msr(cpu, msr_offset, (unsigned long *)(&msr)); + if (ret < 0) + errx(-1, "failed to get msr with return %d", ret); + cap->highest = msr_perf_2_ratio(AMD_CPPC_HIGHEST_PERF(msr)); + cap->lowest = msr_perf_2_ratio(AMD_CPPC_LOWEST_PERF(msr)); + } } void print_hwp_request(int cpu, struct msr_hwp_request *h, char *str) @@ -812,15 +869,27 @@ void print_hwp_request_pkg(int pkg, struct msr_hwp_request *h, char *str) void read_hwp_request(int cpu, struct msr_hwp_request *hwp_req, unsigned int msr_offset) { unsigned long long msr; + int ret; - get_msr(cpu, msr_offset, &msr); - - hwp_req->hwp_min = msr_perf_2_ratio((((msr) >> 0) & 0xff)); - hwp_req->hwp_max = msr_perf_2_ratio((((msr) >> 8) & 0xff)); - hwp_req->hwp_desired = msr_perf_2_ratio((((msr) >> 16) & 0xff)); - hwp_req->hwp_epp = (((msr) >> 24) & 0xff); - hwp_req->hwp_window = (((msr) >> 32) & 0x3ff); - hwp_req->hwp_use_pkg = (((msr) >> 42) & 0x1); + if (genuine_intel) { + get_msr(cpu, msr_offset, &msr); + + hwp_req->hwp_min = msr_perf_2_ratio((((msr) >> 0) & 0xff)); + hwp_req->hwp_max = msr_perf_2_ratio((((msr) >> 8) & 0xff)); + hwp_req->hwp_desired = msr_perf_2_ratio((((msr) >> 16) & 0xff)); + hwp_req->hwp_epp = (((msr) >> 24) & 0xff); + hwp_req->hwp_window = (((msr) >> 32) & 0x3ff); + hwp_req->hwp_use_pkg = (((msr) >> 42) & 0x1); + } else if (authentic_amd) { + ret = amd_get_msr(cpu, msr_offset, (unsigned long *)(&msr)); + if (ret < 0) + errx(-1, "failed to get msr with return %d", ret); + hwp_req->hwp_min = msr_perf_2_ratio((((msr) >> 8) & 0xff)); + hwp_req->hwp_max = msr_perf_2_ratio((((msr) >> 0) & 0xff)); + + hwp_req->hwp_desired = msr_perf_2_ratio((((msr) >> 16) & 0xff)); + hwp_req->hwp_epp = (((msr) >> 24) & 0xff); + } } void write_hwp_request(int cpu, struct msr_hwp_request *hwp_req, unsigned int msr_offset) @@ -895,18 +964,28 @@ int print_cpu_msrs(int cpu) struct msr_hwp_cap cap; int epb; - epb = get_epb(cpu); - if (epb >= 0) - printf("cpu%d: EPB %u\n", cpu, (unsigned int) epb); + if (genuine_intel) { + epb = get_epb(cpu); + if (epb >= 0) + printf("cpu%d: EPB %u\n", cpu, (unsigned int) epb); + } if (!has_hwp) return 0; - read_hwp_request(cpu, &req, MSR_HWP_REQUEST); - print_hwp_request(cpu, &req, ""); + if (genuine_intel) { + read_hwp_request(cpu, &req, MSR_HWP_REQUEST); + print_hwp_request(cpu, &req, ""); - read_hwp_cap(cpu, &cap, MSR_HWP_CAPABILITIES); - print_hwp_cap(cpu, &cap, ""); + read_hwp_cap(cpu, &cap, MSR_HWP_CAPABILITIES); + print_hwp_cap(cpu, &cap, ""); + } else if (authentic_amd) { + read_hwp_request(cpu, &req, MSR_AMD_CPPC_REQ);//MSR_HWP_REQUEST + print_hwp_request(cpu, &req, ""); + + read_hwp_cap(cpu, &cap, MSR_AMD_CPPC_CAP1);//MSR_HWP_CAPABILITIES + print_hwp_cap(cpu, &cap, ""); + } return 0; } @@ -1330,12 +1409,19 @@ void init_data_structures(void) void verify_hwp_is_enabled(void) { unsigned long long msr; + int ret; if (!has_hwp) /* set in early_cpuid() */ return; /* MSR_PM_ENABLE[1] == 1 if HWP is enabled and MSRs visible */ - get_msr(base_cpu, MSR_PM_ENABLE, &msr); + if (genuine_intel) + get_msr(base_cpu, MSR_PM_ENABLE, &msr); + else if (authentic_amd) { + ret = amd_get_msr(base_cpu, MSR_AMD_CPPC_ENABLE, (unsigned long *)(&msr)); + if (ret < 0) + errx(-1, "failed to get msr with return %d", ret); + } if ((msr & 1) == 0) { fprintf(stderr, "HWP can be enabled using '--hwp-enable'\n"); has_hwp = 0; @@ -1398,6 +1484,17 @@ static void get_cpuid_or_exit(unsigned int leaf, errx(1, "Processor not supported\n"); } +static void amd_get_cpuid_or_exit(unsigned int leaf, + unsigned int *eax, unsigned int *ebx, + unsigned int *ecx, unsigned int *edx) +{ + unsigned int leaf_index; + + leaf_index = leaf | 0x80000000; + if (!__get_cpuid(leaf_index, eax, ebx, ecx, edx)) + errx(1, "Processor not supported\n"); +} + /* * early_cpuid() * initialize turbo_is_enabled, has_hwp, has_epb @@ -1408,24 +1505,39 @@ void early_cpuid(void) unsigned int eax, ebx, ecx, edx; unsigned int fms, family, model; - get_cpuid_or_exit(1, &fms, &ebx, &ecx, &edx); - family = (fms >> 8) & 0xf; - model = (fms >> 4) & 0xf; - if (family == 6 || family == 0xf) - model += ((fms >> 16) & 0xf) << 4; + eax = ebx = ecx = edx = 0; + __cpuid(0, max_level, ebx, ecx, edx); + if (ebx == 0x756e6547 && ecx == 0x6c65746e && edx == 0x49656e69) + genuine_intel = 1; + else if (ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65) + authentic_amd = 1; - if (model == 0x4F) { - unsigned long long msr; + if (genuine_intel) { + get_cpuid_or_exit(1, &fms, &ebx, &ecx, &edx); + family = (fms >> 8) & 0xf; + model = (fms >> 4) & 0xf; + if (family == 6 || family == 0xf) + model += ((fms >> 16) & 0xf) << 4; - get_msr(base_cpu, MSR_TURBO_RATIO_LIMIT, &msr); + if (model == 0x4F) { + unsigned long long msr; - bdx_highest_ratio = msr & 0xFF; - } + get_msr(base_cpu, MSR_TURBO_RATIO_LIMIT, &msr); + + bdx_highest_ratio = msr & 0xFF; + } - get_cpuid_or_exit(0x6, &eax, &ebx, &ecx, &edx); - turbo_is_enabled = (eax >> 1) & 1; - has_hwp = (eax >> 7) & 1; - has_epb = (ecx >> 3) & 1; + get_cpuid_or_exit(0x6, &eax, &ebx, &ecx, &edx); + turbo_is_enabled = (eax >> 1) & 1; + has_hwp = (eax >> 7) & 1; + has_epb = (ecx >> 3) & 1; + } else if (authentic_amd) { + /* AMD Processors CPUID info */ + amd_get_cpuid_or_exit(0x8, &eax, &ebx, &ecx, &edx); + turbo_is_enabled = (eax >> 1) & 1; + has_hwp = (ebx >> 27) & 1; + has_hwp_epp = (ebx >> 27) & 1; + } } /* @@ -1444,6 +1556,8 @@ void parse_cpuid(void) if (ebx == 0x756e6547 && edx == 0x49656e69 && ecx == 0x6c65746e) genuine_intel = 1; + else if (ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65) + authentic_amd = 1; if (debug) fprintf(stderr, "CPUID(0): %.4s%.4s%.4s ", @@ -1456,6 +1570,11 @@ void parse_cpuid(void) if (family == 6 || family == 0xf) model += ((fms >> 16) & 0xf) << 4; + if (authentic_amd) { + if (family == 0xf) + family += (fms >> 20) & 0xff; + } + if (debug) { fprintf(stderr, "%d CPUID levels; family:model:stepping 0x%x:%x:%x (%d:%d:%d)\n", max_level, family, model, stepping, family, model, stepping); @@ -1473,14 +1592,18 @@ void parse_cpuid(void) if (!(edx & (1 << 5))) errx(1, "CPUID: no MSR"); - - get_cpuid_or_exit(0x6, &eax, &ebx, &ecx, &edx); - /* turbo_is_enabled already set */ - /* has_hwp already set */ - has_hwp_notify = eax & (1 << 8); - has_hwp_activity_window = eax & (1 << 9); - has_hwp_epp = eax & (1 << 10); - has_hwp_request_pkg = eax & (1 << 11); + if (genuine_intel) { + get_cpuid_or_exit(0x6, &eax, &ebx, &ecx, &edx); + /* turbo_is_enabled already set */ + /* has_hwp already set */ + has_hwp_notify = eax & (1 << 8); + has_hwp_activity_window = eax & (1 << 9); + has_hwp_epp = eax & (1 << 10); + has_hwp_request_pkg = eax & (1 << 11); + } else if (authentic_amd) { + amd_get_cpuid_or_exit(0x8, &eax, &ebx, &ecx, &edx); + has_hwp_epp = (ebx >> 27) & 1; + } if (!has_hwp_request_pkg && update_hwp_use_pkg) errx(1, "--hwp-use-pkg is not available on this hardware"); From patchwork Tue Jan 30 05:56:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yuan, Perry" X-Patchwork-Id: 13536914 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2070.outbound.protection.outlook.com [40.107.92.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D4A983838F; Tue, 30 Jan 2024 05:56:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594221; cv=fail; b=K+RdrghyFw1l8pRcLTx1LGz0J9Obk6D9A34lK9ofnHLtQxCzvox4JFt1FkooZH8Nj5Eeehk16TV+9eOv5QGtXicglhGQm9/Tr1qlJsiX3+roOQ++eCRH+moESr/Quy5Yneme5QmbbHOOhxrZFGcs/l5kmBPxAXVflqcradAFUnk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594221; c=relaxed/simple; bh=0G893uXq6j8C35Bu9LEWfW3UuxUFjqrvGD2c9z7oHsE=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=i7QCkKhG2PEvZaKBU3mem4s6Rv0L+MmkMU2ZK7CSsKc6C6onoXVZ5nHjao19JPTQr3XVbBhtJ4rKWB9LHjrCvc2Z9+BFb4fdWxSH/SKkvsZb6z7/LOo6tT5HZtF5yaqQdOaQG9Y2kNr1Kq0IToovMlWedTkuqGNod2UedbnD7dY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=aT/gFYZC; arc=fail smtp.client-ip=40.107.92.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="aT/gFYZC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RraKxiCUZkUTzXjXv+ijzyTh+/ipF+qRlOXXXmS/OiCzTW2yCf0ksGy/XS2VCiQtsMvvK4yDpyeZvUvI+20GX2c8DyA0ZoWwIHfO6e7JKuDf5JHU17/wMAecoRJHpDoY7QPZLUoKpHOlfqQYVYY4Be4wfemYYpWNY2o36p1Ne6ezKgvA2S2vpYrRX03r6s8iz19U/x4MZkGc/5rayP1IReHFB4QYoD+SY6Er8sBcwdYf5ybJlOCTJ0a7R7pMvJM7CsNyiDPOO0deT9H4IZWEV4sfWPBen9PIZF13iHennirPUu0LksFnFovgveBrkQFiQPSoXZQMAM91bQ5b0D5Qpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=El7iS3nTWLyttkc/AHd0Q5tO2IGNevZrBoWvB0GxErs=; b=V+I57cSl2OHwAErUT6Xmo/oX13SUvnRC0/oaL2iUveIWkrpWFqMhu/kuFay20N8+UObL2BG/2riDVEpK11eOb6OVEiuurdgirnyt8kekxZixC5lQoSIWRKtH6Bojbl23a7eykFWavzbPAL9VdfZV4jhlB3HXYX+UDAVjHhgxqloh9ZmIRbRCl0aQJXCT0JfEiPKz+WkzdcFm0mf7N2RvLbIYmQu8lUy1HL0jQpUqxf9jmImg2d+Q8BcpGkDmoqxDet04yZ/k2SknlMCNccZ4QMSFnkujWU/1blyWzfFIKLdLs16hEtHhffD9E+m8kXjIfZugOV3iy6ADgnR1lgUceQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=El7iS3nTWLyttkc/AHd0Q5tO2IGNevZrBoWvB0GxErs=; b=aT/gFYZCJZYB+JEt7PgKc3jpN+ZmNi/eEoVV0awFqx9xgfoL99SlIiUyjjm2p6mav5fQR6UHOHmf8kijuK984f/RzI1xhfA/SIVZM2MqCu9wHk2ADOddt9kyJbnqUGkk6NFC9ebsM9tM8AylS5AE7H13fJ9+ILffOxqZ9k68MVU= Received: from CYXPR02CA0010.namprd02.prod.outlook.com (2603:10b6:930:cf::21) by IA1PR12MB6211.namprd12.prod.outlook.com (2603:10b6:208:3e5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.26; Tue, 30 Jan 2024 05:56:56 +0000 Received: from CY4PEPF0000EDD4.namprd03.prod.outlook.com (2603:10b6:930:cf:cafe::4f) by CYXPR02CA0010.outlook.office365.com (2603:10b6:930:cf::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34 via Frontend Transport; Tue, 30 Jan 2024 05:56:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EDD4.mail.protection.outlook.com (10.167.241.208) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7249.19 via Frontend Transport; Tue, 30 Jan 2024 05:56:56 +0000 Received: from pyuan-Chachani-VN.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Mon, 29 Jan 2024 23:56:52 -0600 From: Perry Yuan To: , , , , , CC: , , , , , Subject: [PATCH Resend 2/8] tools/power x86_energy_perf_policy: enable AMD pstate EPP profile switching on MSR based system Date: Tue, 30 Jan 2024 13:56:26 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD4:EE_|IA1PR12MB6211:EE_ X-MS-Office365-Filtering-Correlation-Id: 78294344-1166-469b-7cf9-08dc21584409 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 58qONvTCrQnycnZyMiTxvw/8YkjCjeI7ec7ifv77qq4oVF4hOblSVOClIhaZsoOJSONS0T6aJ/LgUGrZyB6RGY7Xahqp9DekUFaoQFnTr/hCUye2CVjtBkfO+j08r+7YaR1Umtkw0q/m3RFrdFaxTmxDygcYR8mGvom0ePxJv29ZYmbtxjuGQzeTqNGN9dhugBcvk0o2DS7pc3ksw8fpOCL4SOBgvHpmHUFm7JWAM//u3KHCC+QSAGrXs8/6KqayzVGxiBHHWXJczAUVd19AmABXXf74gOE1ZItsAzNFY/Xv+7r6z8eCPVy7b660ju4GkvuW7mZicVnZpADh3cIZ4DTk49X6qDekYrGt3DbavJqBS1Q3RNOwCDIwpflxNkyh8gZneqIKy6ICsMrR0oJ48p/FBRi7tz4kSGPenUum6f3YydM3a5l/dyJrmag+AERVfVmwNR905Q8Mk6B318gxIa1yhZjtWEHBSXXh9fikCo/rHhHO/hnjB3jONEY+qmawPPVC5K98OvP7/iyC7zmyS/wot5WSdeKNOjio731mvMqRL9x/FOko/axsVrEOSOfSEQFTuKcp3MpG+f+NAClc8OctXeIdZ2x+cxuMe4BkwXn4/T2tmXELoCZPrbldebTZSLKhCsfHyjUqis1lfkn3LSU46Kr5xNOICE5E/QSctq4BUE3IvgJdyu1Jt23wvdu+FZUy7RuvGbu73op7S/UV4olZFfN96FVn4mSOuFZC5R+eVqaHbC8iMot0DagkEAZCkejduvgm985ouoXlK3Ndhg== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(39860400002)(376002)(396003)(346002)(136003)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(82310400011)(36840700001)(46966006)(40470700004)(16526019)(41300700001)(336012)(2616005)(26005)(40460700003)(40480700001)(426003)(6636002)(316002)(36860700001)(54906003)(36756003)(356005)(6666004)(7696005)(83380400001)(110136005)(478600001)(47076005)(81166007)(82740400003)(70586007)(86362001)(2906002)(4326008)(44832011)(8936002)(8676002)(70206006)(5660300002)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 05:56:56.1141 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 78294344-1166-469b-7cf9-08dc21584409 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EDD4.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6211 From: Perry Yuan x86_energy_perf_policy adds AMD EPP profiles switch support,the EPP driver also has four EPP profiles implemented under power firmware autonomous mode. (performance, balance-performance, balance-power, power) User can choose the new profile to use with this utility support while `amd_pstate_epp` driver instance loaded for the MSR support systems. for example: $ sudo x86_energy_perf_policy -d --hwp-epp balance-performance cpu0: old: HWP_REQ: min 13 max 166 des 0 epp 128 window 0x9 (9*10^0us) use_pkg 0 cpu0: HWP_CAP: low 13 eff 157 guar 0 high 231 cpu0: new: HWP_REQ: min 13 max 166 des 0 epp 128 window 0x9 (9*10^0us) use_pkg 0 cpu1: old: HWP_REQ: min 13 max 166 des 0 epp 128 window 0x9 (9*10^0us) use_pkg 0 cpu1: HWP_CAP: low 13 eff 157 guar 0 high 236 cpu1: new: HWP_REQ: min 13 max 166 des 0 epp 128 window 0x9 (9*10^0us) use_pkg 0 cpu2: old: HWP_REQ: min 13 max 166 des 0 epp 128 window 0x9 (9*10^0us) use_pkg 0 cpu2: HWP_CAP: low 13 eff 157 guar 0 high 211 cpu2: new: HWP_REQ: min 13 max 166 des 0 epp 128 window 0x9 (9*10^0us) use_pkg 0 cpu3: old: HWP_REQ: min 13 max 166 des 0 epp 128 window 0x9 (9*10^0us) use_pkg 0 cpu3: HWP_CAP: low 13 eff 157 guar 0 high 206 cpu3: new: HWP_REQ: min 13 max 166 des 0 epp 128 window 0x9 (9*10^0us) use_pkg 0 Signed-off-by: Perry Yuan --- .../x86_energy_perf_policy.c | 69 +++++++++++++++---- 1 file changed, 54 insertions(+), 15 deletions(-) diff --git a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c index 5daf1c2bb601..da9087873915 100644 --- a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c +++ b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c @@ -902,14 +902,23 @@ void write_hwp_request(int cpu, struct msr_hwp_request *hwp_req, unsigned int ms hwp_req->hwp_desired, hwp_req->hwp_epp, hwp_req->hwp_window, hwp_req->hwp_use_pkg); - msr |= HWP_MIN_PERF(ratio_2_msr_perf(hwp_req->hwp_min)); - msr |= HWP_MAX_PERF(ratio_2_msr_perf(hwp_req->hwp_max)); - msr |= HWP_DESIRED_PERF(ratio_2_msr_perf(hwp_req->hwp_desired)); - msr |= HWP_ENERGY_PERF_PREFERENCE(hwp_req->hwp_epp); - msr |= HWP_ACTIVITY_WINDOW(hwp_req->hwp_window); - msr |= HWP_PACKAGE_CONTROL(hwp_req->hwp_use_pkg); - - put_msr(cpu, msr_offset, msr); + if (genuine_intel) { + msr |= HWP_MIN_PERF(ratio_2_msr_perf(hwp_req->hwp_min)); + msr |= HWP_MAX_PERF(ratio_2_msr_perf(hwp_req->hwp_max)); + msr |= HWP_DESIRED_PERF(ratio_2_msr_perf(hwp_req->hwp_desired)); + msr |= HWP_ENERGY_PERF_PREFERENCE(hwp_req->hwp_epp); + msr |= HWP_ACTIVITY_WINDOW(hwp_req->hwp_window); + msr |= HWP_PACKAGE_CONTROL(hwp_req->hwp_use_pkg); + put_msr(cpu, msr_offset, msr); + } else if (authentic_amd) { + /* AMD EPP need to set desired perf with zero */ + hwp_req->hwp_desired = 0; + msr |= AMD_CPPC_MIN_PERF(hwp_req->hwp_min); + msr |= AMD_CPPC_MAX_PERF(hwp_req->hwp_max); + msr |= AMD_CPPC_DES_PERF(hwp_req->hwp_desired); + msr |= AMD_CPPC_ENERGY_PERF_PREF(hwp_req->hwp_epp); + amd_put_msr(cpu, msr_offset, (unsigned int)msr); + } } static int get_epb(int cpu) @@ -1157,8 +1166,12 @@ int update_hwp_request(int cpu) { struct msr_hwp_request req; struct msr_hwp_cap cap; + int msr_offset = 0; - int msr_offset = MSR_HWP_REQUEST; + if (genuine_intel) + msr_offset = MSR_HWP_REQUEST; + else if (authentic_amd) + msr_offset = MSR_AMD_CPPC_REQ; read_hwp_request(cpu, &req, msr_offset); if (debug) @@ -1181,7 +1194,11 @@ int update_hwp_request(int cpu) req.hwp_use_pkg = req_update.hwp_use_pkg; - read_hwp_cap(cpu, &cap, MSR_HWP_CAPABILITIES); + if (genuine_intel) + read_hwp_cap(cpu, &cap, MSR_HWP_CAPABILITIES); + else if (authentic_amd) + read_hwp_cap(cpu, &cap, MSR_AMD_CPPC_CAP1); + if (debug) print_hwp_cap(cpu, &cap, ""); @@ -1203,8 +1220,12 @@ int update_hwp_request_pkg(int pkg) struct msr_hwp_request req; struct msr_hwp_cap cap; int cpu = first_cpu_in_pkg[pkg]; + int msr_offset = 0; - int msr_offset = MSR_HWP_REQUEST_PKG; + if (genuine_intel) + msr_offset = MSR_HWP_REQUEST_PKG; + else if (authentic_amd) + msr_offset = MSR_AMD_CPPC_REQ; read_hwp_request(cpu, &req, msr_offset); if (debug) @@ -1225,7 +1246,11 @@ int update_hwp_request_pkg(int pkg) if (update_hwp_epp) req.hwp_epp = req_update.hwp_epp; - read_hwp_cap(cpu, &cap, MSR_HWP_CAPABILITIES); + if (genuine_intel) + read_hwp_cap(cpu, &cap, MSR_HWP_CAPABILITIES); + else if (authentic_amd) + read_hwp_cap(cpu, &cap, MSR_AMD_CPPC_CAP1); + if (debug) print_hwp_cap(cpu, &cap, ""); @@ -1246,13 +1271,27 @@ int update_hwp_request_pkg(int pkg) int enable_hwp_on_cpu(int cpu) { unsigned long long msr; + int ret; + + if (genuine_intel) { + get_msr(cpu, MSR_PM_ENABLE, &msr); + put_msr(cpu, MSR_PM_ENABLE, 1); + } else if (authentic_amd) { + ret = amd_get_msr(cpu, MSR_AMD_CPPC_ENABLE, (unsigned long *)(&msr)); + if (ret < 0) + errx(-1, "failed to get msr with return %d", ret); - get_msr(cpu, MSR_PM_ENABLE, &msr); - put_msr(cpu, MSR_PM_ENABLE, 1); + ret = amd_put_msr(cpu, MSR_AMD_CPPC_ENABLE, 1); + if (ret < 0) + errx(-1, "failed to put msr with return %d", ret); + } - if (verbose) + if (verbose && genuine_intel) printf("cpu%d: MSR_PM_ENABLE old: %d new: %d\n", cpu, (unsigned int) msr, 1); + if (verbose && authentic_amd) + printf("cpu%d: MSR_AMD_CPPC_ENABLE old: %d new: %d\n", cpu, (unsigned int) msr, 1); + return 0; } From patchwork Tue Jan 30 05:56:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yuan, Perry" X-Patchwork-Id: 13536915 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2067.outbound.protection.outlook.com [40.107.94.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F19938DEF; Tue, 30 Jan 2024 05:57:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.94.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594224; cv=fail; b=KoEkuPeLL59bJncvtGffzAfXkoB0A/n8qiVh5tBSoKoq6c/rFdCMt8KByo1Opu1m0xYkjW+jCn4I3ivr6VdpxKMJ3Zp1MMl/Wy2NXhO1AHG4NtTJdYS792VbHzFFH0DuJYbCM8jHneAkqR9s1p1Xk5lw0PQtd+fiiLLhk0Oen5Q= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594224; c=relaxed/simple; bh=UCGdGPe9jdOw+7qgjNLQd/iLNNFxxkVEm66mfL2pPaY=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=EWGi4YBpX/dOAHfpunGz2fJsl3wDx3dN14f/N7aAhZb7b8q4k1QHq8RJBwVSzgjJYue7lTskUksb4PiCoC4kISg94Qi2oQFqr5RjoNBg3wXLk01uVHHIt1symai2yJxNe46+dxy4vQ7aDRdMe6n1Z/Db6B8M1QP5ioC/0qgQJO0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=QoWHv3yQ; arc=fail smtp.client-ip=40.107.94.67 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="QoWHv3yQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hzbo/RIgbcRGxlYYoajSvf3ZZwYqj/9eFWDbLfVbW19fSCgzBpRcswoxbeRqnKKVWi00qGiOO6SyP29eBLJ3zgNOA7U4hgZV36XlhxBd9nBo9t2xE9iGMFyrEkzK9Qysv5yBNc74MxFQ9F3zgxUwy0ddrWtXXuW0IZPtYY2Dh9M3sg7uiaGOHqJcB0JTu/bJX0ClCkNoFUW9y3DyVku85q37uNfoOR1wc8yuWftV3gPs0fzHUtYHGRgex1dtqK3dWjFIJfgKJ0QrOdcsZ02PDlxkBdvzGPFk9zgRMtilhXwuFChWlURcUwkveh+XU1BgK3pi2UVK/3ccDTWA5VbfkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=49fLhi/NRv3PdyX0LrMee0uf/A4mAPmq1nZZg5HYUDg=; b=R3MZ5LbfQoSf3p5NbGpGlHGll/mBeF4GMbCuOwhl4WjXtUzufwrdvMEdnlCwPE5e1eGXvT9spONWDTA7FzL5K0Fmya8eGOEFcqRkn1nPYgUgVKEEm7OLcKrGI3BXGl9gv9Tf8BhaxZEZdaqRSeOWAHOaeIgIaSkUcnlg8ki7nY5P4/qMQ14q6MPk51ruaq22PS8szNYaC/U3dg15F1qGRQ6mgswYZC1hPfLwpVmxlfczLgEl7Vu6ypnw3sFav5pJtYvHJngUSa5pVOQJJJeSMzCR4/wHAWv2QjdkQA46TXGvWeEQWjOvMrPhHhHOiamG098WqYmNz5Vr910jeXOKZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=49fLhi/NRv3PdyX0LrMee0uf/A4mAPmq1nZZg5HYUDg=; b=QoWHv3yQwwGkYnimf8iUjXEWVPaueZ2Pf2kLQT3fS32d8RDskpMuzeGhulxJ75K2enBLep+odevrwwdrgQHpQ3RiPBuccpJbpor9WYGqxY+f5P9Mg3lLTSTpfpLN3HKbzOUAzQu9SYYAjjldw1BuicsIR08FdYrCzYUpUZcQc4E= Received: from DM6PR04CA0019.namprd04.prod.outlook.com (2603:10b6:5:334::24) by DM4PR12MB7648.namprd12.prod.outlook.com (2603:10b6:8:104::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 05:56:59 +0000 Received: from CY4PEPF0000EDD0.namprd03.prod.outlook.com (2603:10b6:5:334:cafe::b2) by DM6PR04CA0019.outlook.office365.com (2603:10b6:5:334::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34 via Frontend Transport; Tue, 30 Jan 2024 05:56:59 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EDD0.mail.protection.outlook.com (10.167.241.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7249.19 via Frontend Transport; Tue, 30 Jan 2024 05:56:59 +0000 Received: from pyuan-Chachani-VN.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Mon, 29 Jan 2024 23:56:55 -0600 From: Perry Yuan To: , , , , , CC: , , , , , Subject: [PATCH Resend 3/8] tools/power x86_energy_perf_policy: rename get_msr() and put_msr() with intel prefix Date: Tue, 30 Jan 2024 13:56:27 +0800 Message-ID: <2fbfce6d4f39f5fb64e95a2f36641f109f2c1613.1706592301.git.perry.yuan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD0:EE_|DM4PR12MB7648:EE_ X-MS-Office365-Filtering-Correlation-Id: 78262ea9-38c6-415d-9226-08dc215845e7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jQsjrHOoaSSGrQEhWC6606ou6ihfGxeM8XYOD0mkd/nT8haI/kKtAFm/wo4xu/OW/I+d4773jNY6fuF8djPOWjEtfCJcL11qsnIJqadEE8mcU3/sz9aZTj0uAu4mrRcy4uA1jsMwGjSpftE80hASrvUTMTj6fIICvV9DKHIf7R+Ue0ICJ5XfYUGQ32+PsvrmNAzeppRKKYkKGMDyIXo3r4FEWSbxjG9clKS7T5WETk6W8CjEcULzWAJPgR2LzJLRoS4sOMBwzZVmZCSE4AFWbldyTen6w6wTtLJ/hljn57q8I+LueVC9HD6xKpkVrvrGZH+sZ3F65tlFvBSRHKH6sXQ7VtwS2wp5WXH7Cu7pOQzK71fe2K4p62vg0+9EbM6rJqO2PoVoYyfODozRwMy/80MVgR8EobiBIGch4c4GRxkECzEboAlWgXqC+BJ+hUEDECAqSSfcbzAwKP7UlPi6rnb+TGqHWIOsp8l5X/KAXfgFVueBP/qVVtccOtXtS3imbNrOgx3qkcOelHIP81V69zOemMKZ4LOHv0ptrtPJC7bqSq83BPN42NBYDl39cBFJp3htvYsPEEUaFQPmimUPDD5uu2dyFh1+lS0bmcrHVa+VE59995v23SfMmy4klKmz4bZEMcd6k+k8S1KPvtVJbbAyTEnl3uth+wQO2IrZGYriF/z496gt3IfCBKCai55nASLBJEEihtfd8bVM5Bt/E6oesAJxm2OUntLCDXnIUKxH23IqWk84HYoMFOHDCenhf65JN2eHDjv+Rxlqhh1qEg== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(136003)(376002)(39860400002)(396003)(346002)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(82310400011)(46966006)(40470700004)(36840700001)(36860700001)(47076005)(41300700001)(36756003)(86362001)(356005)(82740400003)(81166007)(6666004)(4326008)(7696005)(8676002)(6636002)(316002)(478600001)(8936002)(110136005)(426003)(336012)(70206006)(70586007)(54906003)(16526019)(5660300002)(26005)(83380400001)(2906002)(2616005)(44832011)(40460700003)(40480700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 05:56:59.2473 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 78262ea9-38c6-415d-9226-08dc215845e7 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EDD0.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7648 From: Perry Yuan Rename the get_msr() and put_msr() function with Intel prefix,that will better help to differentiate with other processor msr operation. No functional impact. Signed-off-by: Perry Yuan Suggested-by: Fontenot Nathan --- .../x86_energy_perf_policy.c | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c index da9087873915..3f09c12f24fa 100644 --- a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c +++ b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c @@ -679,7 +679,7 @@ void err_on_hypervisor(void) "not supported on this virtual machine"); } -int get_msr(int cpu, int offset, unsigned long long *msr) +int intel_get_msr(int cpu, int offset, unsigned long long *msr) { int retval; char pathname[32]; @@ -697,13 +697,13 @@ int get_msr(int cpu, int offset, unsigned long long *msr) } if (debug > 1) - fprintf(stderr, "get_msr(cpu%d, 0x%X, 0x%llX)\n", cpu, offset, *msr); + fprintf(stderr, "intel_get_msr(cpu%d, 0x%X, 0x%llX)\n", cpu, offset, *msr); close(fd); return 0; } -int put_msr(int cpu, int offset, unsigned long long new_msr) +int intel_put_msr(int cpu, int offset, unsigned long long new_msr) { char pathname[32]; int retval; @@ -721,7 +721,7 @@ int put_msr(int cpu, int offset, unsigned long long new_msr) close(fd); if (debug > 1) - fprintf(stderr, "put_msr(cpu%d, 0x%X, 0x%llX)\n", cpu, offset, new_msr); + fprintf(stderr, "intel_put_msr(cpu%d, 0x%X, 0x%llX)\n", cpu, offset, new_msr); return 0; } @@ -829,7 +829,7 @@ void read_hwp_cap(int cpu, struct msr_hwp_cap *cap, unsigned int msr_offset) int ret; if (genuine_intel) { - get_msr(cpu, msr_offset, &msr); + intel_get_msr(cpu, msr_offset, &msr); cap->highest = msr_perf_2_ratio(HWP_HIGHEST_PERF(msr)); cap->guaranteed = msr_perf_2_ratio(HWP_GUARANTEED_PERF(msr)); cap->efficient = msr_perf_2_ratio(HWP_MOSTEFFICIENT_PERF(msr)); @@ -872,7 +872,7 @@ void read_hwp_request(int cpu, struct msr_hwp_request *hwp_req, unsigned int msr int ret; if (genuine_intel) { - get_msr(cpu, msr_offset, &msr); + intel_get_msr(cpu, msr_offset, &msr); hwp_req->hwp_min = msr_perf_2_ratio((((msr) >> 0) & 0xff)); hwp_req->hwp_max = msr_perf_2_ratio((((msr) >> 8) & 0xff)); @@ -909,7 +909,7 @@ void write_hwp_request(int cpu, struct msr_hwp_request *hwp_req, unsigned int ms msr |= HWP_ENERGY_PERF_PREFERENCE(hwp_req->hwp_epp); msr |= HWP_ACTIVITY_WINDOW(hwp_req->hwp_window); msr |= HWP_PACKAGE_CONTROL(hwp_req->hwp_use_pkg); - put_msr(cpu, msr_offset, msr); + intel_put_msr(cpu, msr_offset, msr); } else if (authentic_amd) { /* AMD EPP need to set desired perf with zero */ hwp_req->hwp_desired = 0; @@ -1011,14 +1011,14 @@ int print_pkg_msrs(int pkg) print_hwp_request_pkg(pkg, &req, ""); if (has_hwp_notify) { - get_msr(first_cpu_in_pkg[pkg], MSR_HWP_INTERRUPT, &msr); + intel_get_msr(first_cpu_in_pkg[pkg], MSR_HWP_INTERRUPT, &msr); fprintf(stderr, "pkg%d: MSR_HWP_INTERRUPT: 0x%08llx (Excursion_Min-%sabled, Guaranteed_Perf_Change-%sabled)\n", pkg, msr, ((msr) & 0x2) ? "EN" : "Dis", ((msr) & 0x1) ? "EN" : "Dis"); } - get_msr(first_cpu_in_pkg[pkg], MSR_HWP_STATUS, &msr); + intel_get_msr(first_cpu_in_pkg[pkg], MSR_HWP_STATUS, &msr); fprintf(stderr, "pkg%d: MSR_HWP_STATUS: 0x%08llx (%sExcursion_Min, %sGuaranteed_Perf_Change)\n", pkg, msr, @@ -1274,8 +1274,8 @@ int enable_hwp_on_cpu(int cpu) int ret; if (genuine_intel) { - get_msr(cpu, MSR_PM_ENABLE, &msr); - put_msr(cpu, MSR_PM_ENABLE, 1); + intel_get_msr(cpu, MSR_PM_ENABLE, &msr); + intel_put_msr(cpu, MSR_PM_ENABLE, 1); } else if (authentic_amd) { ret = amd_get_msr(cpu, MSR_AMD_CPPC_ENABLE, (unsigned long *)(&msr)); if (ret < 0) @@ -1312,14 +1312,14 @@ int update_cpu_msrs(int cpu) if (update_turbo) { int turbo_is_present_and_disabled; - get_msr(cpu, MSR_IA32_MISC_ENABLE, &msr); + intel_get_msr(cpu, MSR_IA32_MISC_ENABLE, &msr); turbo_is_present_and_disabled = ((msr & MSR_IA32_MISC_ENABLE_TURBO_DISABLE) != 0); if (turbo_update_value == 1) { if (turbo_is_present_and_disabled) { msr &= ~MSR_IA32_MISC_ENABLE_TURBO_DISABLE; - put_msr(cpu, MSR_IA32_MISC_ENABLE, msr); + intel_put_msr(cpu, MSR_IA32_MISC_ENABLE, msr); if (verbose) printf("cpu%d: turbo ENABLE\n", cpu); } @@ -1330,7 +1330,7 @@ int update_cpu_msrs(int cpu) * but cpu may be in a different package, so we always write. */ msr |= MSR_IA32_MISC_ENABLE_TURBO_DISABLE; - put_msr(cpu, MSR_IA32_MISC_ENABLE, msr); + intel_put_msr(cpu, MSR_IA32_MISC_ENABLE, msr); if (verbose) printf("cpu%d: turbo DISABLE\n", cpu); } @@ -1455,7 +1455,7 @@ void verify_hwp_is_enabled(void) /* MSR_PM_ENABLE[1] == 1 if HWP is enabled and MSRs visible */ if (genuine_intel) - get_msr(base_cpu, MSR_PM_ENABLE, &msr); + intel_get_msr(base_cpu, MSR_PM_ENABLE, &msr); else if (authentic_amd) { ret = amd_get_msr(base_cpu, MSR_AMD_CPPC_ENABLE, (unsigned long *)(&msr)); if (ret < 0) @@ -1561,7 +1561,7 @@ void early_cpuid(void) if (model == 0x4F) { unsigned long long msr; - get_msr(base_cpu, MSR_TURBO_RATIO_LIMIT, &msr); + intel_get_msr(base_cpu, MSR_TURBO_RATIO_LIMIT, &msr); bdx_highest_ratio = msr & 0xFF; } From patchwork Tue Jan 30 05:56:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yuan, Perry" X-Patchwork-Id: 13536916 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2085.outbound.protection.outlook.com [40.107.93.85]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 431DE3C492; Tue, 30 Jan 2024 05:57:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.85 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594226; cv=fail; b=NQGNEatt9+SfAPxgINIiQcOErWm+AkvKs0l7oW21zKhPXcVW2VdquvaXz+Cm1NV8bxETpYuYy3cq90q+ht9Bnq4uAvReNJqqemOdZd2cSnJTO5S89hFpqSG35VAuP8lMJkOkdhGyH2wVRN2ALG/eMy/ttmryIx1VBYk3ot7u1FA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594226; c=relaxed/simple; bh=teFimkOVxyXI31svoAtx3GCZGYHyVM54itfN6YkWVL4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=DvE1mZnQJ3wE5Xs8GPFRGTZJXSe+CMlMT95aoKqVo6gmQAcrjsUyIL78CCDXsKRjHqKohd8g/lSb3a0LZzKcQG9PVC9tMtuaq9mvQZIsvut+ySAPMJQretHqKpIa9LXgV8MwV2Uc3D6vkIO3l+OSQ0aSzwL82oQTJ8An1qjw8fA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=RRnq3Mlv; arc=fail smtp.client-ip=40.107.93.85 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="RRnq3Mlv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UYcTS6A/k0qMC7aSdf68rb/pMH1L2i3wtSJtqSKUH5UquYtumHpl42hlu8tzqKcU0xPF/+m6QUYF+ZIA1PQAf4Va8NvL0ROSaVOECEmjHBSLnYL7jnrEGyIsEol5T3Q3oOgBSzN7+SG3x56PY1T89+9n9gE3ynY4v/eEgp3qYjls1VeDTiXsNInd34msjK0/9wesV4ZpLjhBBm7cGsr7h/bItJ8G2XU88ertbjf2y89JzfslC1ygx3qka7tMmE0PEoheAvwFNjfVfe0wt+UDjrqAcma4kdjtZMkpaRiejksoTlRggELWblSPlBSWOIgDy1oEzCBAJpIxKdU9Nbe6FQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=k5HKmZ9uadfRO+bMt4fbRgFv0pZ7OfSnHUNJQLDHx+A=; b=eNnhJ1sdG3j/HwEGavT9AdO3yBaEkKvOZHvH13eJTHkptF8/ChPWeZQgRjDMqY1M4dZ6c9p3l4HVKGhpC8efJcvdLgppj4w9vGqI04O0Zl8tpEYwPI5jzZml8zHK+FfDGNFLcvbFh3NufOWG2wR7U54+lRictTVAcKDdK8fWuTLvlBywmMW7nIcW7X7cOR7B+6jQNT4v1vocbEMyXi2q2hmAbAL1HZleLLj6oLZiJPaW/VkSAo8xIN5ybozNHwcgHXnrwllG42kKfYI+VmtxwFIK6Wo74MD1gBQ0Dj3QENxnuI3cy0xwhCrJ5sI2Gmp94Aobj4mwWFFXOlkxK3qvIQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=k5HKmZ9uadfRO+bMt4fbRgFv0pZ7OfSnHUNJQLDHx+A=; b=RRnq3Mlv2UMAgIqJn7hQauM3aip1cQvh/sD3yb2WAdgDJ3DSpez14X5FtQ0H0BlXrv3Pks2ZPkkye0WJiR2bD/aJYj0hNL26q/smbFkCbZ+J+H/qgVdSObLuqo4m+DxLiFu5DtDoffxBCbAkb1CRiuXuIE/e4E5oEl22dAPlhkA= Received: from CYXPR02CA0014.namprd02.prod.outlook.com (2603:10b6:930:cf::20) by BY5PR12MB4999.namprd12.prod.outlook.com (2603:10b6:a03:1da::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 05:57:02 +0000 Received: from CY4PEPF0000EDD4.namprd03.prod.outlook.com (2603:10b6:930:cf:cafe::2) by CYXPR02CA0014.outlook.office365.com (2603:10b6:930:cf::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34 via Frontend Transport; Tue, 30 Jan 2024 05:57:02 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EDD4.mail.protection.outlook.com (10.167.241.208) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7249.19 via Frontend Transport; Tue, 30 Jan 2024 05:57:02 +0000 Received: from pyuan-Chachani-VN.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Mon, 29 Jan 2024 23:56:58 -0600 From: Perry Yuan To: , , , , , CC: , , , , , Subject: [PATCH Resend 4/8] tools/power x86_energy_perf_policy: rename get_cpuid_or_exit() with intel prefix Date: Tue, 30 Jan 2024 13:56:28 +0800 Message-ID: <3f9212ab790ebeaa36f7a3fedc4fc533f6c75559.1706592301.git.perry.yuan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD4:EE_|BY5PR12MB4999:EE_ X-MS-Office365-Filtering-Correlation-Id: d481e48b-09be-4777-c7cc-08dc215847c0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SXuQ8G5ojL5QnrhO6syI6sempy8zbIsUgInRL1lO0XIcgP0EL6KTAbSvN5I4VqVk0WG9RlEKERFWT6uctP0zHRqvBDhOV9hTzf8BxnowYKTW8CX0cabZGEMAKHy4XA6pKIwNsy+JYSI+/eoiGLjs4qsidP2Snx2gAiCxMdlPZqf3f0iDRXJnK12XYu//0SIRDFVsCykUc7fD9CLtn5Xo8ewLlcTb64c5oNvTLarEHpffrL9I5sleHvtFoX9bO03NVEXAJSRLpd37jHg3Jp84F8VRFjKq9WdCltmxkw/6gg87Inft9kJeb9rGuXDsWPbzWv5AK7XSGkkeowDUk3673dBIgACv98JoqbjnFmkKL9IprIoUCmSkJgN1O2KCOI11x9rJRg6/9loiBvY38Ht3BcZS3SgADk3YAM3x38vo7rk1IoDqFzQwq+hYoG1NuN8hPavknb73ETUgcdHCYtDLVo7WtzKH0VTxix4xWGzb27IYEYHfymWwfMkIpDcXn8UAi7Ia1uRxzEV1NNe+LMSj24hNMeMVhAthLjYOeBp4k09TEcp3t6HyvuPgy1Zoqtfl/KQqwgYeE67n1nL/InClrOQwXWi8BuBK1w481HLUfjLegO/e71nvsKfjdybeLdyiWv3tUveQc5Gxk0MeNNeA3E2NZPRiiqf+9kPF4uC02npJy7ClxzjQEgft8/P3GKmKwyey3D2PfyxKOQyQNyATePHtpE6pZs9Z2F4ioMN01WKQDk4ypa/9W4yKjBXj1PYIbl+/Q/iTz8ae2Xmk7fMgww== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(396003)(376002)(39860400002)(136003)(346002)(230922051799003)(82310400011)(451199024)(186009)(1800799012)(64100799003)(40470700004)(36840700001)(46966006)(36860700001)(110136005)(36756003)(83380400001)(2616005)(47076005)(70206006)(6636002)(316002)(70586007)(8936002)(7696005)(8676002)(54906003)(86362001)(478600001)(6666004)(4326008)(26005)(2906002)(16526019)(426003)(336012)(44832011)(5660300002)(41300700001)(40460700003)(356005)(40480700001)(82740400003)(81166007)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 05:57:02.3485 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d481e48b-09be-4777-c7cc-08dc215847c0 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EDD4.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4999 From: Perry Yuan Rename the get_cpuid_or_exit() function with intel string prefix, that will help to know the function are used on Intel processors. No functional impact. Signed-off-by: Perry Yuan Suggested-by: Fontenot Nathan Reviewed-by: Mario Limonciello --- .../x86_energy_perf_policy/x86_energy_perf_policy.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c index 3f09c12f24fa..a08403ab219a 100644 --- a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c +++ b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c @@ -1515,7 +1515,7 @@ void probe_dev_msr(void) err(-5, "no /dev/cpu/0/msr, Try \"# modprobe msr\" "); } -static void get_cpuid_or_exit(unsigned int leaf, +static void intel_get_cpuid_or_exit(unsigned int leaf, unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) { @@ -1552,7 +1552,7 @@ void early_cpuid(void) authentic_amd = 1; if (genuine_intel) { - get_cpuid_or_exit(1, &fms, &ebx, &ecx, &edx); + intel_get_cpuid_or_exit(1, &fms, &ebx, &ecx, &edx); family = (fms >> 8) & 0xf; model = (fms >> 4) & 0xf; if (family == 6 || family == 0xf) @@ -1566,7 +1566,7 @@ void early_cpuid(void) bdx_highest_ratio = msr & 0xFF; } - get_cpuid_or_exit(0x6, &eax, &ebx, &ecx, &edx); + intel_get_cpuid_or_exit(0x6, &eax, &ebx, &ecx, &edx); turbo_is_enabled = (eax >> 1) & 1; has_hwp = (eax >> 7) & 1; has_epb = (ecx >> 3) & 1; @@ -1591,7 +1591,7 @@ void parse_cpuid(void) eax = ebx = ecx = edx = 0; - get_cpuid_or_exit(0, &max_level, &ebx, &ecx, &edx); + intel_get_cpuid_or_exit(0, &max_level, &ebx, &ecx, &edx); if (ebx == 0x756e6547 && edx == 0x49656e69 && ecx == 0x6c65746e) genuine_intel = 1; @@ -1602,7 +1602,7 @@ void parse_cpuid(void) fprintf(stderr, "CPUID(0): %.4s%.4s%.4s ", (char *)&ebx, (char *)&edx, (char *)&ecx); - get_cpuid_or_exit(1, &fms, &ebx, &ecx, &edx); + intel_get_cpuid_or_exit(1, &fms, &ebx, &ecx, &edx); family = (fms >> 8) & 0xf; model = (fms >> 4) & 0xf; stepping = fms & 0xf; @@ -1632,7 +1632,7 @@ void parse_cpuid(void) errx(1, "CPUID: no MSR"); if (genuine_intel) { - get_cpuid_or_exit(0x6, &eax, &ebx, &ecx, &edx); + intel_get_cpuid_or_exit(0x6, &eax, &ebx, &ecx, &edx); /* turbo_is_enabled already set */ /* has_hwp already set */ has_hwp_notify = eax & (1 << 8); From patchwork Tue Jan 30 05:56:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yuan, Perry" X-Patchwork-Id: 13536917 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2072.outbound.protection.outlook.com [40.107.223.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 652FC53811; Tue, 30 Jan 2024 05:57:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.72 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594232; cv=fail; b=BA5s136J5C7jYNnWrN65RNQwKfKmBPMIHF2B+Q6nSbOgtcMM7ssPQw1OUM8ww2+DVTiyMCVFMtAI2RPISAEXaimUxLlaSbO2syrfqmuPzmhZvqQGphrmNMqHkVXbm6SazkeG0vMU0060WnpV+MpzhzyGImBJ5k3TgndyF3SN6gI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594232; c=relaxed/simple; bh=a9eUX6AQ65FqSCC63RDtsYkieoasv4p8b61Gwy4hIWo=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=urL3/Chqt0fig5Z1+PBitKpcOMLDyxQECnbkwdoz3LYRoU6HPn8Z8PS1P5t99gZ/1xWfT85APrpRGjZvuRZaEdaqvnsmphZj7EFVAlM4s+gJDUPDjB4u37xhSVrz4/puEnjCHgzVf83Dt8zEU7A88Rxvv7YMIcrSUOp/Tq0sJzA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=DcJ/7k8l; arc=fail smtp.client-ip=40.107.223.72 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="DcJ/7k8l" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T2fWQkFs7+51TnHaIbV0RGzjbgICUCjUIkiIPzfmCwUCNZtjWb9MtfKHEHnNFdgXn1c+lB6qQVQSBuCych4AI8Q/tgzHaD509PDlIelWzGBwBbInz3QgZ9rOlk36R4rgTgAIEGyk3e0ZS9TcOFsBOsbrZln+g4UyyTdeK2Qw/1ezN4a+tpbmKhQRC9GxkSggRxR43rYT8CjflYWE+FoRmA9vfXccB3utJOs+FlZpdszOrKzOXTqv4Y7VIGyRj3Kc79hxIxtd51345Gl13diu7LAQrMPhbweqgmcz2k7FCzja7diRZ+ziStVB+b3v/pZwl1QjKkR3TXLxUsufKR8pRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jUn4qpiUjibqWARrg/Th5+gTRHvCjqaXV/07KD7RMPE=; b=AK/TW9iMqqutiQQqrK32JTKswFZpL7oqyAQNwYtDf/7bpvJSZF4F72JjLZGKGYviBs90FrhtbBgoPo8u1A3rCANyFORvOQJXMFKP2b48psvCn9fv+HMEK9iSv+XL2NCJ7eeEgwg82LNmzQggWlZI7RIpz2koIe2H3b3KEssBAkXoV0eCKXyl97RB/4VTpSCahC8fdK+liBRv0zMW+YUFH897F7+/WBa71O6HYDYab8VjlGo+0rP2IX2AQHC1bCnz6SY6G5y1izX1+N5SxNGqs6LQCpTIMAkDeHB9XdeWKE6grIaQgxW4uA46FIlVBUXZuIAWRQb+F1zfxx7mo/UrEw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jUn4qpiUjibqWARrg/Th5+gTRHvCjqaXV/07KD7RMPE=; b=DcJ/7k8lAaGpx6sr7WVsNHwnCxe4qS5mgqGtZfYULkZdn++zv2ejURbqneROMkZcfWL5l36xv+N7dk3+PIlhf1BHU4Nu1arpcYmnsbyVo8drAZbK0H4jAAhpMSr2b2xt7mBT8YeNAFrbd0jY+0ok3Yo6mKPIZBNtRyMCZHUpNzc= Received: from CYXPR02CA0006.namprd02.prod.outlook.com (2603:10b6:930:cf::10) by CH3PR12MB9395.namprd12.prod.outlook.com (2603:10b6:610:1ce::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.32; Tue, 30 Jan 2024 05:57:06 +0000 Received: from CY4PEPF0000EDD4.namprd03.prod.outlook.com (2603:10b6:930:cf:cafe::8) by CYXPR02CA0006.outlook.office365.com (2603:10b6:930:cf::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34 via Frontend Transport; Tue, 30 Jan 2024 05:57:06 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EDD4.mail.protection.outlook.com (10.167.241.208) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7249.19 via Frontend Transport; Tue, 30 Jan 2024 05:57:05 +0000 Received: from pyuan-Chachani-VN.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Mon, 29 Jan 2024 23:57:02 -0600 From: Perry Yuan To: , , , , , CC: , , , , , Subject: [PATCH Resend 5/8] tools/power x86_energy_perf_policy: add nominal and lowest nonlinear perf values showing support Date: Tue, 30 Jan 2024 13:56:29 +0800 Message-ID: <2307c615b12b9d0063ef92b7642fa0708a6b99f9.1706592301.git.perry.yuan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD4:EE_|CH3PR12MB9395:EE_ X-MS-Office365-Filtering-Correlation-Id: df1f7141-94e6-45d7-e9a6-08dc215849e9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Uks1CS3B2Hb88Jjj+ZtSUCL5hqs2dzdpO2VGvOAQsyeFa9MQm7tW7oL5xAFACdLBd7gqGpQDx7UmuT+IMYlm8rKOB63iCnrZNzO4/sNDPBIvl6eo4kEDvH1yDjvljw+qu21uzrLFVZtnGSTlFcXOF1KqywCvGTY6lD+ZzHyftEIMdA6l0WahUNsflRZYvOd0Bru4+JXosFraMQ6Ij6CsJzK3pTqaW73mYixfNLkp2Z7IsrZhwKKAaVm/to5DMH/EiomY5Tbn622IpHod/lu9lKX6vQ1q7zf3voKmLa3KCXV9yStEH1b9zmC8X6B3kgylPMWXOm00aN+i4FshPyXNG6i2wBlbvmUHArOAPo9XEQhBkx6vz1rH6/RFbQ/MjBzPVtRyPoUAmogeJLnwevniTd7jB8C7LMwW/L+IfsktL3tcKjvFCt/m+vKW2DzAx3qniGj8QKsU5ud794QsgF3/8ZNgyncz1cFLqp8xNvvH2mCcXPsSereoFmf/W7/pvBlNQFNkq43ufWL1Vo5LTp26kvVA362RX8jQP0lEkaqAtaa3nKvM7fTaEzHmag5+oDRjY6N9r96vQ01hZhnEHl1Rm8Fx8mDADYgAzl2refI/zC+fFyx/FIjFY/mpXZC6eojlwoLDElcjOfkj0MSnjT45bw9+aIc4bCH7umXClwDwLshA0rcUmjG6/tbRCwGu3lR5KXslfAgfL3uS7+GyOC1y3hVI2uc4ahlWsFiUr0S7sOQEnZNfnR4qnvRMFknIyo7KKjg5eSIM2uNxst0QfnGs0A== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(396003)(136003)(346002)(376002)(39860400002)(230922051799003)(1800799012)(82310400011)(186009)(64100799003)(451199024)(40470700004)(46966006)(36840700001)(316002)(54906003)(110136005)(83380400001)(70586007)(86362001)(47076005)(70206006)(6636002)(478600001)(40460700003)(40480700001)(6666004)(36860700001)(82740400003)(81166007)(7696005)(426003)(336012)(16526019)(2616005)(26005)(8676002)(8936002)(4326008)(356005)(44832011)(5660300002)(2906002)(41300700001)(36756003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 05:57:05.9579 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: df1f7141-94e6-45d7-e9a6-08dc215849e9 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EDD4.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9395 Add nominal_perf and lowest_nonlinear_perf read and print the values. It will help user to check each core all perf values of CPPC and change the EPP profile as need. cpu0: [AMD HWP_CAP]: low 12 lowest_non 86 nominal 121 highest 196 cpu1: [AMD HWP_CAP]: low 12 lowest_non 86 nominal 121 highest 176 cpu2: [AMD HWP_CAP]: low 12 lowest_non 86 nominal 121 highest 201 cpu3: [AMD HWP_CAP]: low 12 lowest_non 86 nominal 121 highest 181 Signed-off-by: Perry Yuan Reviewed-by: Mario Limonciello --- .../x86_energy_perf_policy/x86_energy_perf_policy.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c index a08403ab219a..7bc668d22728 100644 --- a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c +++ b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c @@ -38,6 +38,8 @@ struct msr_hwp_cap { unsigned char guaranteed; unsigned char efficient; unsigned char lowest; + unsigned char nominal_perf; + unsigned char lowest_nonlinear_perf; }; struct msr_hwp_request { @@ -820,8 +822,13 @@ void print_hwp_cap(int cpu, struct msr_hwp_cap *cap, char *str) if (cpu != -1) printf("cpu%d: ", cpu); - printf("HWP_CAP: low %d eff %d guar %d high %d\n", - cap->lowest, cap->efficient, cap->guaranteed, cap->highest); + if (genuine_intel) { + printf("HWP_CAP: low %d eff %d guar %d high %d\n", + cap->lowest, cap->efficient, cap->guaranteed, cap->highest); + } else if (authentic_amd) { + printf("[AMD HWP_CAP]: low %d lowest_non %d nominal %d highest %d\n\n", + cap->lowest, cap->lowest_nonlinear_perf, cap->nominal_perf, cap->highest); + } } void read_hwp_cap(int cpu, struct msr_hwp_cap *cap, unsigned int msr_offset) { @@ -840,6 +847,8 @@ void read_hwp_cap(int cpu, struct msr_hwp_cap *cap, unsigned int msr_offset) errx(-1, "failed to get msr with return %d", ret); cap->highest = msr_perf_2_ratio(AMD_CPPC_HIGHEST_PERF(msr)); cap->lowest = msr_perf_2_ratio(AMD_CPPC_LOWEST_PERF(msr)); + cap->nominal_perf = msr_perf_2_ratio(AMD_CPPC_NOMINAL_PERF(msr)); + cap->lowest_nonlinear_perf = msr_perf_2_ratio(AMD_CPPC_LOWNONLIN_PERF(msr)); } } From patchwork Tue Jan 30 05:56:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yuan, Perry" X-Patchwork-Id: 13536918 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2047.outbound.protection.outlook.com [40.107.220.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 744905381B; Tue, 30 Jan 2024 05:57:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.47 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594233; cv=fail; b=eFEqGz4Qi2GgAmgo7AudSD9vpqBTIzbOqIToMmo4FBHNjhS0kOz8eQPTnAgT1R8AMTByJnQnj8b6aAfM0mNPxbxAyl0KPqXNVGtMPJU2kr5lB6Cq1VXGPU6lEj/v42NAT6Iy0SnrANBjRJGS8yRFyGEt6YgoswaF4VLwXAvmTpY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594233; c=relaxed/simple; bh=XyjWnshcEDULNzAsOzZlPe3A0bFLAu46xTf90O95YoM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=gtAPca3ucgcKIofl/hXltmb/M/CH3jXFw3zCfjz1CFuNTnLlV6XcpjRykYFizU5ebx1lkNxZ8C3FlbQCSWLEeQ0437GltjfsgcwwC/XaIbkwNtv3HX/uP8TYNjRLEglaV8B/1ROlcMjmrGiRtJJ6oeKhaqDbg75BzWNXYo8bmZQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=zXuCj0N2; arc=fail smtp.client-ip=40.107.220.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="zXuCj0N2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ERR5AiHtqUc5KMxDcBba+QRn8fz7I6AMBjoX6NkmSfgL71Rb1UPFXpZyEoWeu1hlcSaOpauRR4WG/lMuXqxCnfO1JYseQTCtoaeKY+vLnxrsMKM8d9JSHt5dZPXqoFRTkdzgtVj/bVj8mK59SryYCzAiMOIn/pLYoZ4SM0JY03b1nyYcsk4AluJNv2hSussIYkz08BCNZheylTZKl3NcYkiUlDTl02gWOLRklTQ4FgXWgk1qoRel3rzNHaoMri2NgUoQmJ/TlCWXOFShvP5Q6cYbtSr21OcEOCTTFHs/FFOmWAzGhiB3/Vnq7MCWDzMlNLZQeXyLVUABl3TzL9moTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SteV2fj/1tqjvsxT3BWmi8J7tpQHkhvb/96scmcUgRU=; b=oa/JD8OsIGWW/QvOTX2aFZWh9QRI8Ye2iFJFqfIziNhbG1mW6obNwJflovxZgiq38Qrj3vS4rvZ2H6vwjTxRL4oh3ezlPpqZ2b5bbQPgj4pbji8T6zlUgrZjgzSJrpUILPej0kFH6ubmoJ4HboS1LdoC1wm42O+rdmuhtDV5Jkq0IZkYkax/6ooVT2tHp7pMLssDuwPLDgyZVa7K1NI8gTgRw2kJqNypKcEDyY1hKDyvzLjmNKk31N8KeFlrXFTqRJLWXvkArNIbG4J3srffbjuGRCRi3iYB+hVaraE2oVlxnCYkBRCexrCmBAvP0SKRiBkbzwvplekJb7KBVcI4ng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SteV2fj/1tqjvsxT3BWmi8J7tpQHkhvb/96scmcUgRU=; b=zXuCj0N2+r0RvMKvALT8LLYIcL/Z9VGTYpfd4rnmCbgnl0hvkDdgxpWcS0Sml2EMCmn+IzS11hE+cmbQVqfHLMLTs5c6RUCO2Nm3gGCWlCHO4l0gDXVA9yU1fdpsAYzsqV9MNTi4OQXLvXqJfdzZn+ZtuWErja6wtIkjJUZeZkk= Received: from DS7PR03CA0085.namprd03.prod.outlook.com (2603:10b6:5:3bb::30) by CH3PR12MB9079.namprd12.prod.outlook.com (2603:10b6:610:1a1::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 05:57:09 +0000 Received: from CY4PEPF0000EDD1.namprd03.prod.outlook.com (2603:10b6:5:3bb:cafe::14) by DS7PR03CA0085.outlook.office365.com (2603:10b6:5:3bb::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34 via Frontend Transport; Tue, 30 Jan 2024 05:57:09 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EDD1.mail.protection.outlook.com (10.167.241.205) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7249.19 via Frontend Transport; Tue, 30 Jan 2024 05:57:09 +0000 Received: from pyuan-Chachani-VN.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Mon, 29 Jan 2024 23:57:05 -0600 From: Perry Yuan To: , , , , , CC: , , , , , Subject: [PATCH Resend 6/8] tools/power x86_energy_perf_policy: remove the invalid feature options for AMD processors Date: Tue, 30 Jan 2024 13:56:30 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD1:EE_|CH3PR12MB9079:EE_ X-MS-Office365-Filtering-Correlation-Id: 2e24534e-3824-4248-81cf-08dc21584bbc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: x4MKI7TYMR9VWeatB/F1Ht9Y0cdCm/Ma8+PAYFLPq8LnLn+7bubIZY2fE70iO93SxWVXZG7tpG+zNi4Ph67Ew6hSBNiFM3cJRHk727WOF4YH47u9lyjS2cPkWrdz0eFUgR5XK+AeUw/dMQgvIQUoliV8MaiSn2x8ByNIhafJiH3hi6TEf56JBzdDzlWVh4M1Ked8xSnEW5BgNZyLDuFUulEWEZ8emL7qAolvtGAAef37tgwSKhsRKwqN0vjROJQ+HJQnuNSlmYKyHTrTvM3BgATMNsxqOcKcB9dftVD56QayU9gZtF33y4RxKUa/Wj9vDjdqkeDmP1kTWu2Be30FiQ+YML/uZScjUixEaGLlhAdmJD6o9MosdSSRWsqB+5Wd1LYP7jJ0MMlFVy2b2aEqJOjGN/IvG1nJgJjsYx1kQV/7cziPjxC5VN+kB2hPA801nl2xfbONCVoBMJ28gQDTXgaJPwrWrmsHbB2BVt23rR6RgRUFzf3QcAyk8he8gsaM6h1aitvOhuRh72vwmA45Q3vvNtrkxoYL9XBRCF/EWLyR/zx11yumm1IzBALalRIgqYTVG/9sMfUaz2dSIcJhasw7lZIgThBWZHKx+027lk3N4bsmY0Mz+iQEvCyzQGvGAQXboCkixuaZhhqeQjiDY+dtYL8CMg9f/xJCtx9v6CaKRdILPOmS0iByK7izp9fzGZdr4Bc8K1+LMqOG2X2jZFDK5114pzJfK1y8OPVtQ0RSv1UzTjhfdQ9EHb88W9K7S0kZDx6EzOIESmtlrY+L1Q== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(346002)(39860400002)(136003)(396003)(376002)(230922051799003)(451199024)(1800799012)(82310400011)(186009)(64100799003)(36840700001)(46966006)(40470700004)(70586007)(6636002)(316002)(4326008)(8936002)(110136005)(8676002)(83380400001)(16526019)(36860700001)(70206006)(478600001)(6666004)(86362001)(5660300002)(44832011)(2906002)(2616005)(54906003)(7696005)(36756003)(81166007)(82740400003)(40480700001)(40460700003)(336012)(426003)(47076005)(356005)(26005)(41300700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 05:57:09.0001 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2e24534e-3824-4248-81cf-08dc21584bbc X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EDD1.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9079 EPB feature is not supported by AMD CPU, remove the unsupported options to advoid confusion for the failure result when using the parameters. Here is the new help output with below command. $ sudo ./x86_energy_perf_policy -h ./x86_energy_perf_policy [options] [scope][field value] scope: --cpu cpu-list [--hwp-use-pkg #] | --pkg pkg-list field: --all | --hwp-epp | --hwp-min | --hwp-max | --hwp-desired other: --hwp-enable | --turbo-enable (0 | 1) | --help | --force value: ( # | "normal" | "performance" | "balance-performance" | "balance-power"| "power") --hwp-window usec ./x86_energy_perf_policy: [-c cpu] [-v] (-r | policy-value ) Signed-off-by: Perry Yuan Reviewed-by: Mario Limonciello --- .../x86_energy_perf_policy.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c index 7bc668d22728..ada1aaabad8c 100644 --- a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c +++ b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c @@ -105,13 +105,18 @@ void usage(void) { fprintf(stderr, "%s [options] [scope][field value]\n", progname); fprintf(stderr, "scope: --cpu cpu-list [--hwp-use-pkg #] | --pkg pkg-list\n"); - fprintf(stderr, "field: --all | --epb | --hwp-epp | --hwp-min | --hwp-max | --hwp-desired\n"); + + if (genuine_intel) + fprintf(stderr, "field: --all | --epb | --hwp-epp | --hwp-min | --hwp-max | --hwp-desired\n"); + else if (authentic_amd) + fprintf(stderr, "field: --all | --hwp-epp | --hwp-min | --hwp-max | --hwp-desired\n"); + fprintf(stderr, "other: --hwp-enable | --turbo-enable (0 | 1) | --help | --force\n"); fprintf(stderr, "value: ( # | \"normal\" | \"performance\" | \"balance-performance\" | \"balance-power\"| \"power\")\n"); fprintf(stderr, "--hwp-window usec\n"); - - fprintf(stderr, "Specify only Energy Performance BIAS (legacy usage):\n"); + if (genuine_intel) + fprintf(stderr, "Specify only Energy Performance BIAS (legacy usage):\n"); fprintf(stderr, "%s: [-c cpu] [-v] (-r | policy-value )\n", progname); exit(1); @@ -1309,7 +1314,7 @@ int update_cpu_msrs(int cpu) unsigned long long msr; int epb; - if (update_epb) { + if (update_epb && genuine_intel) { epb = get_epb(cpu); set_epb(cpu, new_epb); @@ -1318,7 +1323,7 @@ int update_cpu_msrs(int cpu) cpu, epb, (unsigned int) new_epb); } - if (update_turbo) { + if (update_turbo && genuine_intel) { int turbo_is_present_and_disabled; intel_get_msr(cpu, MSR_IA32_MISC_ENABLE, &msr); From patchwork Tue Jan 30 05:56:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yuan, Perry" X-Patchwork-Id: 13536919 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2047.outbound.protection.outlook.com [40.107.96.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2C69F54F93; Tue, 30 Jan 2024 05:57:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.96.47 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594238; cv=fail; b=TleIg+bdIIHRDo1kd5dxgsVqsYHBTaUAwQUwSkhYaoHBzjeVhWCaR9i8cPKYqgpWP5PqIJ/qZhZ6ULZIOKgjxBJksa4JetWyS525iuOdd0Z8jeEGhg3mBWqFHyByQ9tmQMhEd7edTCG8eRanTYGOQsCGH5t9GRQxqXsR1j6zazc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594238; c=relaxed/simple; bh=612kO+TH6TlNm4ODdMrCES1Lkpwd9h1t0jXfRl79f10=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=gtq9anbDLOe/roEcBUu1QD/owjRwp4Uqp1qhwlfc5ljbazOE98dOVhWfeN79RqX4Q3pJ6iirbvxkB/svigesEPJce4FWjo/SgIgaGu0NitCiBUzX9/dAlZkIelnFi9vtvA3tNJi8vAZotXKTCe18yiCBaR5OOWgSBKKw9dQtrOU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=Egt+P5rZ; arc=fail smtp.client-ip=40.107.96.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="Egt+P5rZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XBNXksSAuWoP9QpHMAfdy3qYIdbuP3b/EnFgilb8imG7SprkxgDTidf28s6XBDjnCYAlKXt5wyUqYyaW8KOZGLrfbN+OQ6tPZxv0HE9s7UyfiQjaBVJ09c9ItApbD33Crheyxf0OMfVFyc+NwD0c7exEF76SOZ1tD/9DCHJEhMDuIOw9gyEubCV00R8phF77nEWyjHrsovStueVQu6owHH54IJ34Qy6XBY+vszOs9BEEi+tpA03uW5r/qYT9pBSOdjIygISk88Egjp/pcWVQX17p3MC0/BENYaKjAHwvoM00yyYgafv0Q+syEll1gsmf2teFoV7A7NT4gZYSP3xKsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=y51n67YWs6bh5EFkFdb8SW3bQKZLCzt2euRRQ7ae0J0=; b=Q4Zn9xwLgqlSIpI8B7fjSkBH7Vfb/m18e4hAhgvmBRamE9nqIV6NGtz1/7wD9aYgbLSu/k+oagja3EX60k+kdcsz7nf2dDZiPapy4BAm3LuH4LVVfBe/MJ6alxtPTyMInroGiw+Q0D3cCyswsaonUf0DLI9FjBWQgzQw5rpcOFViVUwL8YYeORieqdALuPfGfs1TXi9YH9m34wehZlroR9RfqGFLvLjaZX5LdxH2TQtO+QxtHTWQtrnWmXdFiw6dhofB9LzSdcU0oqn19YXA9aKNrvqSCPcG7FNA5eewDxfoDnx5IRf1uZIkd4hVLX59i/2An9JZQWqsoqb+G/zREw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=y51n67YWs6bh5EFkFdb8SW3bQKZLCzt2euRRQ7ae0J0=; b=Egt+P5rZct3pUuzIWJ0VvBhYsY8+R897Kou7meDQGi/oVMPCp1B/w0nMyvSx61lpmyd+RZ24m5MtkYymYHELzRKDcDU38IRIxc2kyWFiGvjuynuHrZjoRpuDrQvBDEOYlWaKI+l0HqImNcT45HYi+gPBjnCBU3PVJ+4vAca6Er8= Received: from DS7PR03CA0079.namprd03.prod.outlook.com (2603:10b6:5:3bb::24) by PH7PR12MB7794.namprd12.prod.outlook.com (2603:10b6:510:276::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 05:57:12 +0000 Received: from CY4PEPF0000EDD1.namprd03.prod.outlook.com (2603:10b6:5:3bb:cafe::77) by DS7PR03CA0079.outlook.office365.com (2603:10b6:5:3bb::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34 via Frontend Transport; Tue, 30 Jan 2024 05:57:12 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EDD1.mail.protection.outlook.com (10.167.241.205) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7249.19 via Frontend Transport; Tue, 30 Jan 2024 05:57:12 +0000 Received: from pyuan-Chachani-VN.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Mon, 29 Jan 2024 23:57:08 -0600 From: Perry Yuan To: , , , , , CC: , , , , , Subject: [PATCH Resend 7/8] tools/power x86_energy_perf_policy: rename some perf output strings for AMD processors Date: Tue, 30 Jan 2024 13:56:31 +0800 Message-ID: <5f70fe6c01a05dc355d6a0e47d32d5e24500ca82.1706592301.git.perry.yuan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD1:EE_|PH7PR12MB7794:EE_ X-MS-Office365-Filtering-Correlation-Id: 033e266d-c827-4043-082d-08dc21584daa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wh237xJc+CYUaSaSdg7dzpCswQFyp3X/IZqf0MynB4LSH0me/h1tQC0R312Co1+Ks5smRBIsIsyz+qgD6hSvounZVA4wVquz6gB2RXh4glSs6SaeqcBf+kvSAy0pJL18/TseDJRxMvEOoNiCmX9yQnhkzMA5T/A2IKWMhAO8c9hWwZWrnhalrpAv0WdshD7IbuTmdq0j+rlXKdedxG+3PRp5rr/tI/775UQhyufhi+R8O1sO7nl/p8j1oKn8G6Y6uGkuCi6a8Ovps6WLeyFW+sNuir2d3MMfrJIS8qyJwiP26sZ0zmUnaP6iAQAESostS5eldtM2HzqVvP6Pu//J3zmxO5Z+kH8HTMVL/dvjoKufWqYvS7RKDwnPOxygqcMJN8L7cMhnZJ1bJ8iQoiEccIAtetVLgoT17OcTC9HfR830Kkx6l+xLC1F5WhyydDfxyozC7hhWr7SGlmD+x7k8UuhvVjtkP81GxGoSDJtfySETjDKzbJ+1DDAkJN7pAl4xlQcYtEb+7+aGJdGBYBHQqETOMp+dlCVCNhHBTybWhe8BxX5xs6M2e8nmwV52S7Uq5RUIA0O796sS2YfEHeGDq8YPyWYhTkIlgcOu85SIwaxigm0Q2thkjJnj9ea/dSxlHjyZT9/B6MtZPxBuD2wIL17RXR2hOXAIk/eVlehhVFWjAuPhWlmwswh2g39rX9u3Joec4ac9br2tGyq9GJnZ83aGHzIL6a5SCrU9FpQnj5vh2EKeI3zl2TOujpOhOr9RSN/7K1q1db1Bs2ZoejLg1Q== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(396003)(346002)(39860400002)(136003)(376002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(82310400011)(36840700001)(40470700004)(46966006)(6636002)(8936002)(8676002)(4326008)(44832011)(2906002)(5660300002)(86362001)(110136005)(70586007)(70206006)(54906003)(36756003)(36860700001)(47076005)(316002)(82740400003)(81166007)(356005)(7696005)(478600001)(6666004)(2616005)(83380400001)(16526019)(26005)(426003)(336012)(41300700001)(40460700003)(40480700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 05:57:12.2501 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 033e266d-c827-4043-082d-08dc21584daa X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EDD1.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7794 rename some perf strings using same definition for AMD CPPC performance capabilities. cpu0: [AMD HWP_REQ]: lowest 12 highest 166 desired 0 epp 128 window 0x131497d0 (80*10^7us) use_pkg 89 cpu1: [AMD HWP_REQ]: lowest 12 highest 166 desired 0 epp 128 window 0x131497d0 (80*10^7us) use_pkg 89 Signed-off-by: Perry Yuan --- .../x86_energy_perf_policy.c | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c index ada1aaabad8c..845cfedab06e 100644 --- a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c +++ b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c @@ -864,10 +864,15 @@ void print_hwp_request(int cpu, struct msr_hwp_request *h, char *str) if (str) printf("%s", str); + if (genuine_intel) + printf("HWP_REQ: min %d max %d des %d epp %d window 0x%x (%d*10^%dus) use_pkg %d\n", + h->hwp_min, h->hwp_max, h->hwp_desired, h->hwp_epp, + h->hwp_window, h->hwp_window & 0x7F, (h->hwp_window >> 7) & 0x7, h->hwp_use_pkg); + else if (authentic_amd) + printf("[AMD HWP_REQ]: lowest %d highest %d desired %d epp %d window 0x%x (%d*10^%dus) use_pkg %d\n", + h->hwp_min, h->hwp_max, h->hwp_desired, h->hwp_epp, + h->hwp_window, h->hwp_window & 0x7F, (h->hwp_window >> 7) & 0x7, h->hwp_use_pkg); - printf("HWP_REQ: min %d max %d des %d epp %d window 0x%x (%d*10^%dus) use_pkg %d\n", - h->hwp_min, h->hwp_max, h->hwp_desired, h->hwp_epp, - h->hwp_window, h->hwp_window & 0x7F, (h->hwp_window >> 7) & 0x7, h->hwp_use_pkg); } void print_hwp_request_pkg(int pkg, struct msr_hwp_request *h, char *str) { @@ -876,9 +881,15 @@ void print_hwp_request_pkg(int pkg, struct msr_hwp_request *h, char *str) if (str) printf("%s", str); - printf("HWP_REQ_PKG: min %d max %d des %d epp %d window 0x%x (%d*10^%dus)\n", - h->hwp_min, h->hwp_max, h->hwp_desired, h->hwp_epp, - h->hwp_window, h->hwp_window & 0x7F, (h->hwp_window >> 7) & 0x7); + if (genuine_intel) { + printf("HWP_REQ_PKG: min %d max %d des %d epp %d window 0x%x (%d*10^%dus)\n", + h->hwp_min, h->hwp_max, h->hwp_desired, h->hwp_epp, + h->hwp_window, h->hwp_window & 0x7F, (h->hwp_window >> 7) & 0x7); + } else if (authentic_amd) { + printf("AMD HWP_REQ_PKG: lowest %d highest %d desired %d epp %d window 0x%x (%d*10^%dus)\n", + h->hwp_min, h->hwp_max, h->hwp_desired, h->hwp_epp, + h->hwp_window, h->hwp_window & 0x7F, (h->hwp_window >> 7) & 0x7); + } } void read_hwp_request(int cpu, struct msr_hwp_request *hwp_req, unsigned int msr_offset) { From patchwork Tue Jan 30 05:56:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yuan, Perry" X-Patchwork-Id: 13536920 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2046.outbound.protection.outlook.com [40.107.102.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA07755E57; Tue, 30 Jan 2024 05:57:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.102.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594242; cv=fail; b=dbDnl+GP0toJtozaaxFD0Yl6yAJRVXAqmLFHBeBBGmOyEE2zHOmQ/L+GXDsFBv/s8qyIvOBT8mA7uxZIFQNyBow5y1l8HZRgWwzIjlAK7zKId9uMC17I2KFIHm4qHrt7ReKSdzIaaVMXLQjgGU28iaI9IYIrtcwDDC6gNdooyPA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706594242; c=relaxed/simple; bh=3ME+v1M95ybXx96nhasNEZ3w22e2BKuPtRJR41vGdaE=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=KV5g9Vb18QY35zEbD/EeDgU1rjTD1v6Ra3tL2+DzNqK6Tv0hamclH0KTRZSHIyfnapZ04FObePYXsbBekIMvCB1Cqc+onXHYl2RZSOyt72ObF6+WkL343HWOfgxgH/k4tTEnd+Kj4jjVLmPDsuN4HuJ5gOl1vFA+qPrznRqlBg4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=jnyUtK6i; arc=fail smtp.client-ip=40.107.102.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="jnyUtK6i" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ixOZ1WQL2F071K07/saPCf0+kcc5Us2pU6yE88S6eiEqtQLkXcv4zcJD8+rQcUe5nxz/tZryPkZbtjxegOfQeS+4iY8LH48mykwr5HCc2miXtlAklc2F2MDjllJdNKfS18qpYg98YMAbBvvyJxrsinW5IVDI04YbVBpi5ADvnqxNQnRb09Mtb8wDup81FB4bzVnSgwbJDRw30ERFN4zC3V/cbEtr0TSFDgmoNfBWHOHUycEvLvtILJHAEeRgbRQiilGTfE3MHmSTsu4sPgOmeOjKfXblf6ysJ44gRTfkPASqTqQztvB00w9FnDQYf4/QP6oWUlWVcGb+NLHqWZJ0xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/WUTkD0MHNo9tADSWnprHWaLAzSOW0I26nQ+yW648ws=; b=DTZeYky/sxI1niYL2NEEq5DYynb3Hv8xARlJTeP1547PJkiLtBkx4x9ZWCqyTOi0e+7RW2jt8wMuZXCzgA+8QunepiClLLvAWSyc8uuOyWD345mA3F+BYSgt/0Asj5RSFGlbh14r96f9yReGnF/VJePPMfT/kamPTV+vZlvxhoeMaSNfjvzRW2nT6OoFDzPiP2a3kIVynH4/snpzxht9z3dsZNEpi+5soESmdc+e6REbf8Yvc6kRlEx1TBP9PuhBQDCrw91abEqd/FsKpyGk76EJrL9OKFF6lRjrMtejNtthymQB5c7Lk5IYDevhobRxVDnC9nJfTHh9ARsX64yJZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=intel.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/WUTkD0MHNo9tADSWnprHWaLAzSOW0I26nQ+yW648ws=; b=jnyUtK6inEbIZlz9amxC3P9+xs/+kNO1/VF127Lqw1cE6lR3jsqBNLl6nj83L+KrCPBguKB9HrenVbyp/LU/QS+BgIRwf/+AQWV/TCgThszcdYyumbxEMiWZ0leq1f5QTZlMQtrQwSaMrfexe2SOhfCpKj3xHrHxxPxQuEaIwUs= Received: from DM6PR04CA0010.namprd04.prod.outlook.com (2603:10b6:5:334::15) by PH8PR12MB7374.namprd12.prod.outlook.com (2603:10b6:510:216::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.32; Tue, 30 Jan 2024 05:57:17 +0000 Received: from CY4PEPF0000EDD2.namprd03.prod.outlook.com (2603:10b6:5:334:cafe::ca) by DM6PR04CA0010.outlook.office365.com (2603:10b6:5:334::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34 via Frontend Transport; Tue, 30 Jan 2024 05:57:16 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000EDD2.mail.protection.outlook.com (10.167.241.206) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7249.19 via Frontend Transport; Tue, 30 Jan 2024 05:57:16 +0000 Received: from pyuan-Chachani-VN.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Mon, 29 Jan 2024 23:57:11 -0600 From: Perry Yuan To: , , , , , CC: , , , , , Subject: [PATCH Resend 8/8] tools/power x86_energy_perf_policy: change intel msr functions to be static Date: Tue, 30 Jan 2024 13:56:32 +0800 Message-ID: <6905c6ca13c5cbb513f2bf6c2a937dd228e3fd57.1706592301.git.perry.yuan@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD2:EE_|PH8PR12MB7374:EE_ X-MS-Office365-Filtering-Correlation-Id: 9518c57a-5bb1-4720-8843-08dc2158505b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GdkuThEhOxqlDtRhwoeP1nwnIJzLy0QfyRdGlNkckti58wEvyxJHiif2dnlPEfQ6mVrm6Z1mDtBXujh7ZygPrpqkWP+NfsyLtLFCAdJznogvMQS07XIPpura+Q6Ok/vBeJiWa0DTAHZZ02TAIUYGhwHGuanJ3YNI4MEM/n2TqWJeIdSig2In8JgYrLgbn3pkLhPkDikMJI8X3cnmPPy7f0YMpVZ1+fBSGTSJkBKkjGh10FRuAS6r0tTqqT4kxVEcAzdlThCuMYMj5XzP9TJClgvZVaaEWkJekbbfLQWvqlvUXzISVzja7kVmLBbH6qLxYcGzdA5DaZFu2HqBg1XZPEnGxxOtOT9kybM2d4N2RrKXZ5ArilHx5FduzX+BPE5/PBHOyGMNNG7W9VK8jlbZoLSLq/Oe2mX35WX55+OkLS36xysq/pa1g88bUoWaJn79W84b65gNIi6Jc4oDjDYlC6vyknwa1M2dy+qugG9dCXlMnfhLdSr0TIKXEZ6u5I+oynnzp2bgnvURHx1B7pSGJG7plDkBPObTtf1QUs+hIEMlkWSXE9M0vGbNZ/oVdnve42xoYU7KFwgWR6acS6KTIUjnK6aqFTy74tdXWL4mOr78uLgCPpo+0Sr6SAIkbB50LtTvfT/RQ5Oj/BR976PcDmA5Cwig/z7PIBl0mmJbA/gTF+scglpnJgQwDI0lf6BGWsK4biMkb36VI5rJTb+QexNhT4kmunHHf14WCH90VdPFOjj06f9H57XxUhYVvYtIFDTPaEKSJWASwbexP2Z2hQ== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(136003)(376002)(396003)(346002)(39860400002)(230922051799003)(1800799012)(82310400011)(186009)(451199024)(64100799003)(36840700001)(40470700004)(46966006)(6636002)(70586007)(47076005)(86362001)(40480700001)(70206006)(110136005)(54906003)(83380400001)(6666004)(2616005)(7696005)(316002)(40460700003)(478600001)(356005)(82740400003)(81166007)(44832011)(26005)(8676002)(36860700001)(16526019)(426003)(8936002)(4326008)(336012)(5660300002)(2906002)(41300700001)(36756003)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 05:57:16.7688 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9518c57a-5bb1-4720-8843-08dc2158505b X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EDD2.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7374 change the intel_get_msr and intel_put_msr functions to be static. No functional change intended. Signed-off-by: Perry Yuan --- .../power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c index 845cfedab06e..a5f2f96fa383 100644 --- a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c +++ b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c @@ -686,7 +686,7 @@ void err_on_hypervisor(void) "not supported on this virtual machine"); } -int intel_get_msr(int cpu, int offset, unsigned long long *msr) +static int intel_get_msr(int cpu, int offset, unsigned long long *msr) { int retval; char pathname[32]; @@ -710,7 +710,7 @@ int intel_get_msr(int cpu, int offset, unsigned long long *msr) return 0; } -int intel_put_msr(int cpu, int offset, unsigned long long new_msr) +static int intel_put_msr(int cpu, int offset, unsigned long long new_msr) { char pathname[32]; int retval;