Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp1038355ybx; Tue, 5 Nov 2019 09:17:53 -0800 (PST) X-Google-Smtp-Source: APXvYqxq3J6NUZHn8c+IoVCL47ErRQms9Nt/NgALm6kyL/ghEAOCy2Wfg9ZToXR1eN8AqmJF01Nx X-Received: by 2002:a50:cd53:: with SMTP id d19mr36735709edj.197.1572974273436; Tue, 05 Nov 2019 09:17:53 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1572974273; cv=pass; d=google.com; s=arc-20160816; b=SlrQyDSr8YZfenQshDbrVc21EhQWP9F8IbHWBa1Pw/qJsIk5b1/QY+EABsx0ayM9I6 H5bDpk6D3lXhGODKAgh4y9B/y9CnFfSpqqOSxg77Pd9cUhH91sqOYSi7x/P7K7UkiJIU mrZ+CtUpQi3R6X8nd7zDk2zLZSK+CZ/fb7EibUwzYt1qp2irjNIEszGrBc37A6Oq38bd JFirWVPRdp/cvhVuMiHSEJNCCdXjJa9tji96h55e4HUozCIKUkqq6UvU/zh8meolvkHa BqztEHv2gps8Zlhp1Ac0EdrZe2v2zCh/Hag5S20IIAvydRSAQEmbtaXAxUl+2i0+dukZ MUgA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature; bh=9UKH0Zsq5d/hMXgWQ1VZ+BFQpGpvoPdLk75VUtjMfgQ=; b=ZpVrP/ED4922hITe/YjV91IQxp6o794uLYR6Qm/4fKx1UFQF++abJx0z4PtcyIKYYP JmZKzgDVH5L/b8BuTV8dSriqcPiqeQS7LooSmDb2EVuYHLT9drRe9skzqVBNsC4K8jHk FfvWGub8mBlsJCj/60yeVRJcuNWT+6A+dz+kmnYFx1jjse0LgEqWUVHwoYW3PqZnp7P6 N4aRvwINq00uqnWZgEbdMNPjfW8u4lfJBXNL4LOOqtttDRNCN0lc4Aar4Ju4b5jT3zD6 FW8inZhQp7Y8cza6+yAMFpmw56rSsKM7xF+3qyyKb8g7RDsjxu1EWX5MxThB0iEDrXo3 6tYw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector2-amdcloud-onmicrosoft-com header.b=g7nglYbb; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b28si11056199edn.230.2019.11.05.09.17.29; Tue, 05 Nov 2019 09:17:53 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector2-amdcloud-onmicrosoft-com header.b=g7nglYbb; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388950AbfKERQ7 (ORCPT + 99 others); Tue, 5 Nov 2019 12:16:59 -0500 Received: from mail-eopbgr700080.outbound.protection.outlook.com ([40.107.70.80]:56513 "EHLO NAM04-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730895AbfKERQ7 (ORCPT ); Tue, 5 Nov 2019 12:16:59 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eut02WVwaOBlq79PLUht/VYNk3haiZsVX8itLTFG6A5YwibRdAENRDzF6ANa0HU8KtqIwUmJTz8XT0bQ/bmtr0SpGQOKVjeYpwygjhXF1IGmr6PS2jWU3v9hCHMfdeD1C3JE0E0MOZLKHFb0CFRC5lwCinB06vwFv392+NbJ+0lAi4gKSmMJXcV7bUrihulG80E0mu45WwhopQU898Ub07m69gsttdgoz1I0XLU5Fe/vSDKSlHcTJV7ZgvNMpYqU+KEnK6IZCtjHSVF5bMLeN4xsXX+0A6wqXmNOcwndyfLyaPwlBCdxFEo+taiGBNSrBMkLMaeFaozxwdrv7g3V5g== 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-SenderADCheck; bh=9UKH0Zsq5d/hMXgWQ1VZ+BFQpGpvoPdLk75VUtjMfgQ=; b=djbCdoLgP1x9DWX6OojzNSY5hbMHuw8y08jgXJLgVFtc94YDvq1iQGtXCjbQ2ingjFpNoSmJ5JiVjtV8WWEdsTOw8ul4byeE8LA/BDLZnahTT4XHpvLnmiN8tcy35IyGBc/KI64+HLI5qCXjZKjsGEi2wSv02D8OlW79U/ZaQ1qR2VejwYICSUvSZCgyNqUjIrLMq6Q+PwbqNp0caKOJLDn0bjG370mSWkxtxgzQ1apkZ1gIlVRSFhtGHBpbbo4uZGCl4JDiDiSoKyqMzhCl4tm1Iff4jx3PWuiTWLu0kDb0mBNZlph6EQlRDQSNB87ShHVQxN3u4FrUUKT6Bw1YLA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9UKH0Zsq5d/hMXgWQ1VZ+BFQpGpvoPdLk75VUtjMfgQ=; b=g7nglYbbmcXRkT76S3iff/5ewVnEUqFOOb9uACWd/WXh4+9Ln3GLJMibmQbGb4vRfly0dQuQxbxLfRPHZXitwfk9C7SzkY0cDKuvV8tN3gEzhK+vGDUaiHtvNijTzZx2NIuSuCpF7oWW/r8q3KeP7toOpX6y02ktbqW6vMMPFyE= Received: from BN7PR12MB2723.namprd12.prod.outlook.com (20.176.177.94) by BN7PR12MB2786.namprd12.prod.outlook.com (20.176.178.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2408.24; Tue, 5 Nov 2019 17:16:51 +0000 Received: from BN7PR12MB2723.namprd12.prod.outlook.com ([fe80::20d2:c1ff:3fa9:4df2]) by BN7PR12MB2723.namprd12.prod.outlook.com ([fe80::20d2:c1ff:3fa9:4df2%4]) with mapi id 15.20.2408.024; Tue, 5 Nov 2019 17:16:51 +0000 From: "Natarajan, Janakarajan" To: "linux-pm@vger.kernel.org" , "linux-kernel@vger.kernel.org" CC: Thomas Renninger , Shuah Khan , Pu Wen , Borislav Petkov , Allison Randal , Thomas Gleixner , Kate Stewart , Greg Kroah-Hartman , Richard Fontana , "Natarajan, Janakarajan" Subject: [PATCHv3 0/4] Update cpupower and make it more accurate Thread-Topic: [PATCHv3 0/4] Update cpupower and make it more accurate Thread-Index: AQHVk/zP5nDc82SGf06fFkvzZ280xA== Date: Tue, 5 Nov 2019 17:16:50 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: DM6PR18CA0019.namprd18.prod.outlook.com (2603:10b6:5:15b::32) To BN7PR12MB2723.namprd12.prod.outlook.com (2603:10b6:408:2d::30) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Janakarajan.Natarajan@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [165.204.78.2] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 4c81738f-fd65-48fc-c2ee-08d76213f24f x-ms-traffictypediagnostic: BN7PR12MB2786:|BN7PR12MB2786: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-forefront-prvs: 0212BDE3BE x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(39860400002)(136003)(376002)(396003)(366004)(346002)(199004)(189003)(305945005)(66476007)(8676002)(486006)(186003)(64756008)(110136005)(8936002)(2616005)(4326008)(2501003)(102836004)(14454004)(52116002)(25786009)(6506007)(66446008)(256004)(86362001)(14444005)(5660300002)(386003)(99286004)(36756003)(316002)(50226002)(54906003)(26005)(81156014)(81166006)(476003)(478600001)(6436002)(71200400001)(71190400001)(6486002)(6512007)(66946007)(66066001)(7736002)(3846002)(2906002)(66556008)(6116002)(7416002)(15650500001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN7PR12MB2786;H:BN7PR12MB2723.namprd12.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KDDOCtr88JWDaw8u/P6baQTb2HjrdxGk6P21XCcymIHarxcN9Nj/WMY7ZckPBf7Qr2PhVXRQVve7dplslgAGmZc6VgdaVPy6hzqkLCRK1eUhjoQGPCXd7CSsgI7vVhiAFjDLGh55zD2jKv+nayQOlILEvq5Eui4TyciWZP+oeOUvj8D3VI9k5lDfIlk3Hbs/smfbo2aOse00Atg3FRO6QIR7kOTjam0+2kY6YSFhWX7Tt5mMew5qBlgUO9xm339xO3/RdbROcioVskHlzKwYeCWYR55K2Q+kpfL6RTAnaxCvHvSffLS3gkQQmt0IoaJJ/KqxLGyvoKJFaLuwiC7LvKRuhWkbJTuwk3XrHq7hllQXadg1oBLbS1u7cpKoNiH0oBVDaffIo7oqYoSQSJTgg0nhVWDCtIFtRh3LyJhhA4OX7VoIxOdvupbZRBLv1LES Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4c81738f-fd65-48fc-c2ee-08d76213f24f X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Nov 2019 17:16:50.9071 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: poX3x7uId+KcyyxsnKGkoTzWtzMN4utYGzst4OpnP/iE6PPxu1jOGGnxhKgI6sUF5QvnXuesFynGtMj1NJ7rsA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR12MB2786 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset updates cpupower to make it more accurate by removing the userspace to kernel transition and read_msr initiated IPI delays. The first patch does a little re-arrangement of variables in the cpuidle_monitor struct to prepare for a new flag. The second patch introduces a per_cpu_schedule flag which, when set, will allow cpupower to move to each of the cpus in the system. The advantage of this is that the IPI latency is removed when reading the APERF/MPERF registers, since an IPI is not generate for rdmsrs when the source and destination cpus are the same for the IPI. The third patch introduces the RDPRU instruction, which will allow cpupower to not use the msr module for APERF/MPERF register reads. This will remove the userspace to kernel transition delays when reading the APERF/MPERF registers. The fourth patch updates the ToDo file with ideas for further improving the code handling the per_cpu_schedule flag. v1->v2: * Added cover letter. * Used bind_cpu instead of rewriting the same code. * Move needs_root to flag sub-struct. * Introduce per_cpu_schedule flag. v2->v3: * Added ToDo patch to this set. * Fix checkpatch warnings. Janakarajan Natarajan (4): cpupower: Move needs_root variable into a sub-struct cpupower: mperf_monitor: Introduce per_cpu_schedule flag cpupower: mperf_monitor: Update cpupower to use the RDPRU instruction cpupower: ToDo: Update ToDo with ideas for per_cpu_schedule handling tools/power/cpupower/ToDo | 14 ++++ tools/power/cpupower/utils/helpers/cpuid.c | 4 ++ tools/power/cpupower/utils/helpers/helpers.h | 1 + .../utils/idle_monitor/amd_fam14h_idle.c | 2 +- .../utils/idle_monitor/cpuidle_sysfs.c | 2 +- .../utils/idle_monitor/cpupower-monitor.c | 2 +- .../utils/idle_monitor/cpupower-monitor.h | 5 +- .../utils/idle_monitor/hsw_ext_idle.c | 2 +- .../utils/idle_monitor/mperf_monitor.c | 64 +++++++++++++++---- .../cpupower/utils/idle_monitor/nhm_idle.c | 2 +- .../cpupower/utils/idle_monitor/snb_idle.c | 2 +- 11 files changed, 82 insertions(+), 18 deletions(-) --=20 2.17.1