From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966091AbbJ3J7i (ORCPT ); Fri, 30 Oct 2015 05:59:38 -0400 Received: from mail-bl2on0095.outbound.protection.outlook.com ([65.55.169.95]:33152 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1758479AbbJ3J7g convert rfc822-to-8bit (ORCPT ); Fri, 30 Oct 2015 05:59:36 -0400 Authentication-Results: spf=none (sender IP is 165.204.84.221) smtp.mailfrom=amd.com; alien8.de; dkim=none (message not signed) header.d=none;alien8.de; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NX12F5-07-F1L-02 X-M-MSG: From: Huang Rui To: Borislav Petkov , Guenter Roeck , "Peter Zijlstra" , Jean Delvare , "Andy Lutomirski" , Andreas Herrmann , Thomas Gleixner , "Ingo Molnar" , "Rafael J. Wysocki" , "Len Brown" , John Stultz , =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Weisbecker?= CC: , , , Andreas Herrmann , Aravind Gopalakrishnan , Borislav Petkov , Fengguang Wu , Aaron Lu , SPG_Linux_Kernel , Huang Rui Subject: [PATCH v3 00/10] hwmon: (fam15h_power) Introduce an accumulated power reporting algorithm Date: Fri, 30 Oct 2015 17:56:54 +0800 Message-ID: <1446199024-1896-1-git-send-email-ray.huang@amd.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(209900001)(189002)(53754006)(199003)(164054003)(50226001)(101416001)(86362001)(77096005)(15975445007)(5820100001)(47776003)(33646002)(53416004)(189998001)(19580405001)(50466002)(19580395003)(5007970100001)(87936001)(97736004)(11100500001)(5001770100001)(229853001)(105586002)(5008740100001)(36756003)(106466001)(5003600100002)(50986999)(92566002)(15395725005)(23676002)(921003)(1121003)(6606295002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0856;H:atltwp01.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0856;2:ltCnySwHtcpxisg4qe0p/Af7BApg447M0818PfUCs+UKORpo/pVs+u8inCeVpe+1kqolkXV5tif2o7E15h5STcn3Rm7Ssn1pHO3dLWsxlscGB1BxxFhSBSbqCRdZrIdWQz0anWliwaWjaw8Kg+tcAafUWq3s9Sa+RKNpmM21paQ=;3:ZEVVxK9SPnjeBBqLAOidgH5x1bkayKnOS8BnB32OEO8oeORmDb80zTQNeFX3W1GTHlyHoHAgb3oewkjZYjmlVApC3m6gZ+78p+CUR9FM1rrgu8NnCjI5ZJoXdigI9avD2TC0AmmlxInRd4saKs4f/fSED7hZWbiT3lOV5YuuAN0iY9x99zyWp+iDi2q6zW4uMPmoIzgbnyX2LPoCUuQC+Z8ZUugsDuen8oDu5XNPDCQqokECYtP9otIWds3JIxk9;25:uXesR1PBt+sp/I9qy6aKUwaIj8o+HznmqpRAlcN7ZFmcTeN2ZG2TP0LSu7aNIHPvAKni9n5HfsoLZ+XJkacwBaY1yjkF1WHSoF/MGIirNClRiVxwS3UKOAhcQY2xvkJak8aKfPJQgwVI1ZD+b+8m13owdHAyNYGMhC5jN+ufX1EBQ1L9hzquZWiWZjaAaCuielFfe6VIJryt8cCqnA2WqH4oOAcvCo1dwyoma3143JwJPdLMRqqQQ3mitAA9+nkj X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0856; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0856;20:lQqrVAzr53UXwT7a2T0DqX9xlpoUyxUVLVymjAfsBxKMT9mKAbODxdAuUBgY4hQjoMl60fpOjzRmbXgERVBbdE3+pVKikuPr3HXqeuWUi4bFChOUFDGJuE45cm71/hte1f2s0M6g680qNsJqVwTScOSJWiZWG6Jaxqb6+B02e/aMofcskq+ugM01WKTPzejXu0Vjwnsa/Lw4gnp/n+jPF0+kDiTjk/PB3aZ25+stoh3EpiUio6x4Ced1oLUwQzyZfTSAfI1yBv6zUehvlXnPBoq5caEtz3nDZBiNjZ4Ip0YqM0RzBeybfRFgCY/yHFqRys4pB3SViSrhtC3qP8YkV0M4Scdg5RKqdbPrFGg9zBtKZTw0mZ9p38bnX/PgfFq8zov02pZPJ0NfwuB3T3aMUOTve2MfZrdmgT5L57TBxI1gzuT+WMzsaMDqAeopcymEfRgl6QkE19NUpo+/JtupCpZ0+2IuCcBZlzRPZUMOLfzhSeP33dD7qGmIJQpyt6VB;4:ECbKC02+U49L83N4UQpMU9ddLbAdWTD3lCtOJbyuRgtfwxEYCzDLDJNYc/3fcz74/wIXtrDvSp/NmpKudqArvgDnnzEbTXYG/omszBmQ/FWgFyYqQRSemcdUY1uOhtjPeN/xqJaRXUIr9aCNnPPpZsiLxsupflAldYyNDKf7xHq7K+Oj7yBBOdip2SxCAaJN2pW56WS9y7z9tioJkxusVSfjprZZSMx6ypl2lvaXZFd4qB65sTMCDoEkTBf4RnbBmi/4eWYUCZ+uwZQE2C6A98dhdSIgNoBj0ysDCg5UtZj2JfwHucWLPZdD/fuAUCfDnpd9eLPTF6mIM1MRFeMAbD7hlV80CRCudDKOy1CRrdlpuGAYz+DxZ0xOB76JU7Iptt8KosCmGiJqzyIGOISkdw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001)(10201501046)(102215026);SRVR:CY1PR12MB0856;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0856; X-Forefront-PRVS: 07459438AA X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjEyTUIwODU2OzIzOmpmSXJGRTQwVXlIZWxpd1hqZGg2REQ1aG1I?= =?utf-8?B?dWthZGVLVld1amJUcWpzY2FkRnAzSDdNTWlSTWJCcXd2YkhBSmhES0g5N3pX?= =?utf-8?B?M05oM1BJM25DUGhwd3FNejFpR3Q2RGdNL1UxajNRVWxMeExJWmI0Wmdyak15?= =?utf-8?B?bm9GZWNaNlBjZEhvK25YYVhJMFlKT1VpOVFMQVpLdTM4M2M2OXozVnZzRDkr?= =?utf-8?B?ZWxudnRNUUE5MUVXOEQ1aGowdUh0YWpNYklISVBJUCtTYUtKT1NtQ0lKZTEr?= =?utf-8?B?WmJWTDhENUppVmZiSjhvRE1tNXQ2YzhHOWZ2VFJKZksyNzNRV0I0UUxiYWRH?= =?utf-8?B?MDhxMHZSN2YyTW9HVmFKTVlwTDhFRmQ5d1I0dDgybzUvbW4rSmlXMzhyMlRK?= =?utf-8?B?dFRYZlc0MFNzWjViZjc1a3RSNis3c0o1anRHZ0lac2ExYlVaOXVEcHRjM213?= =?utf-8?B?c3B3TVlKNjFOcXRORjlDY1A0V2tqdERHYUlqUFg4UmdrVHFxRVlWbjlNdlVD?= =?utf-8?B?TkdxaVJ4U0w3T05uU2ViYzg5YW9LcjhkVnVidmo3ODdhcE1BNDBVQlFhOFR0?= =?utf-8?B?UFd0TXBYajdXTXlMWG1RYXg2UzlMMXZwbFVEbjN0MGxhTldPUk9QNGgxQWF2?= =?utf-8?B?WHV0dldSaWhxTkpWM2NGMzlwSmoram9mSTJJbnFrNlUwNTZDU3ZrZThMUG9l?= =?utf-8?B?ODlUZjBhME1wK2pJZ2VYang5aHpFQWJQaTcwNUlPcXp4ZG85RlpBdlZ5Nllu?= =?utf-8?B?YUdGdkNaWnVIbWpaWENKLzJyekF0VllKY1Z4YlRtbzdRTEMwcC9CeWpGN1Fw?= =?utf-8?B?WDgvc1pHa2RuSEFKYVNPRmVCVW5ZQysxemtsUC9ldFVhdERZblhrbEZLYjFL?= =?utf-8?B?SGNIdWxjdnFMbENrbGRYbGxCd1FUcElIZ3ZEUmVCRzZvUHRtdDRzdGF3WGpw?= =?utf-8?B?aXNUUlhOVFdwbFBORkZ4ODZRQmlHT0JXNURpSEZ6a2RYK0ZzQWQ5T1hVNFh6?= =?utf-8?B?TGt5WTBaSC94ZmxJV1pxSGthVUJPOFU0aWM1T2R6S3JobEdTb0p5SkgrOVpY?= =?utf-8?B?NTd3K29EcW5HNmxRbUw5cjc0U05vdjJnUWQwVTNtK3lWWkJwdXNBSDRtczhH?= =?utf-8?B?N09KeFltSC8vdm9ORkk2U245TXFpbllJYmE3RDhSTWhUaC9XaHFrZFVBcng0?= =?utf-8?B?Y09zNklyMDRSSEljdU1UOEt6aGE2aWx5ZDM3d0pZZ21EMTVxYm5MVTljTWNn?= =?utf-8?B?RHlXVU9XaE1vSHdjWjljUGF2ZHhLYmpCY0lhRkVWeTZyblR4SWdvY2llWWtP?= =?utf-8?B?UUcyaitXaDRVVTVhTEhxTlN5WDUxR2hRdGtRa3hXN2htTXFHWXhQS1RLWGti?= =?utf-8?B?cmxmeWlLd0lLZDNMM29nYTQzbkFtUENDN1ZHY2U1bldWR2w3R0N3Z0haTGcw?= =?utf-8?Q?dFW+RjmM8bMd33YerafHxu8tS2b?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0856;5:HUm3RMkfpPFaRjxdIrrb9/8FChrp/8NATzpibz3nkxhAWcD1q3yksIOJbUFMXyCAYv73ztKLqE0XNtTa+puZFP1Suaeufgp4SfAARjuWP1NqbDZSPUGBbraD8d4xGO5Vkam8cpMjfRPEVjQLUNKxeQ==;24:PcL5j5LAXB/Pkq/QyQce3aXezpYzh/iYY+0T3YnpbeF0qkj4PqCiqGlx7c0J5lEMN6t0YGT554sltV5ab4ROurVMJQMbbfkm0+hlkKxzlhQ=;20:fQ3EDD7D980gN8APOYj5URolfp0CuY8SzV7EiQpb9ZPPr3mmP5xkMZEIJ8rA/xxYDbqVm1olLvnTNEphbki82biIvX2T6zYdu2WQgYYDKKR3QWI2xaJiTmo/OfEYzKvOrdxhTO1bPMioqVZfAtYzq2KCoOwpEUvzhSDEhOSawR2zKo4dN/aYgSPGDQkxmhDbnFYWjiA/NPqtWfi9Onnhi+zH0V6RyRw2zGp9bGS7oYW8ZQ/a/V12cZFJVF4Y2qhZ SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2015 09:59:30.0441 (UTC) 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.221];Helo=[atltwp01.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0856 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, This serial of patches introduces an accumulated power reporting algorithm. It will calculate the average power consumption for the processor. The cpu feature flag is CPUID.8000_0007H:EDX[12]. This algorithm is used to test the comparison of processor power consumption with between MWAITX delay and TSC delay on AMD Carrizo platforms. Reference: http://marc.info/?l=linux-kernel&m=143874573111310&w=2 Commit f96756 at tip ("x86/asm: Add MONITORX/MWAITX instruction support") Commit b466bd at tip ("x86/asm/delay: Introduce an MWAITX-based delay with a configurable timer") V1: http://marc.info/?l=linux-kernel&m=144066380613299&w=2 V2: http://marc.info/?l=linux-kernel&m=144531018518473&w=2 Changes from v1 -> v2: - Move fam15h_power_groups and fam15h_power_group into fam15h_power_data to avoid overwrite on multi-CPU system. - Rename FAM15H_MIN_NUM_ATTRS macro and fix return error code. - Remove unnecessary warning print. - Adds do_read_registers_on_cu to do all the read to all MSRs and run it on one of the online cores on each compute unit with smp_call_function_many(). - Use power1_average and power1_average_interval standard entry instread of power1_acc - Fix the CPU-hotplug case. Changes from v2 -> v3: - As Guenter's suggestion, remove typecast, use &data->groups[0]. - Remove all "fam15_power_*" prefix at data. - Remove unnecessary ( ). - Fix the issue that is reported by build test robot, and add CPU_SUP_AMD as the dependence of fam15h_power - Remove the WARN_ON at do_read_registers_on_cu, because it must be behind CPUID check. The MSR must be available since CPUID.8000_0007H:EDX[12] is set - Add get_online_cpus()/put_online_cpus() functions. - Refine commments and the method which generate cpumask for cu. - Add the interval scope to make the value suitable for user experience - Remove the useless mutex. A simple example: ray@hr-ub:~/tip$ sensors fam15h_power-pci-00c4 Adapter: PCI adapter power1: 23.73 mW (avg = 634.63 mW, interval = 0.01 s) (crit = 15.00 W) ... These patches are rebased on groeck/hwmon-next. Thanks, Rui Huang Rui (10): hwmon: (fam15h_power) Refactor attributes for dynamically added hwmon: (fam15h_power) Enable power1_input on AMD Carrizo hwmon: (fam15h_power) Add max compute unit accumulated power x86, amd: add accessor for number of cores per compute unit hwmon: (fam15h_power) Add CPU_SUP_AMD as the dependence hwmon: (fam15h_power) Add compute unit accumulated power hwmon: (fam15h_power) Add ptsc counter value for accumulated power hwmon: (fam15h_power) Introduce a cpu accumulated power reporting algorithm hwmon: (fam15h_power) Add documentation for TDP and accumulated power algorithm MAINTAINERS: change the maintainer of fam15h_power driver CREDITS | 8 ++ Documentation/hwmon/fam15h_power | 57 +++++++- MAINTAINERS | 4 +- arch/x86/include/asm/msr-index.h | 1 + arch/x86/include/asm/processor.h | 1 + arch/x86/kernel/cpu/amd.c | 19 ++- drivers/hwmon/Kconfig | 2 +- drivers/hwmon/fam15h_power.c | 278 +++++++++++++++++++++++++++++++++++---- 8 files changed, 341 insertions(+), 29 deletions(-) -- 1.9.1