From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754087AbcC1Fbz (ORCPT ); Mon, 28 Mar 2016 01:31:55 -0400 Received: from mail-by2on0096.outbound.protection.outlook.com ([207.46.100.96]:56495 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753866AbcC1Fbf convert rfc822-to-8bit (ORCPT ); Mon, 28 Mar 2016 01:31:35 -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: 0O4QI0H-07-IZO-02 X-M-MSG: From: Huang Rui To: Guenter Roeck , Jean Delvare CC: , , , Borislav Petkov , Huang Rui Subject: [PATCH v5 0/6] hwmon: (fam15h_power) Introduce an accumulated power reporting algorithm Date: Mon, 28 Mar 2016 13:32:10 +0800 Message-ID: <1459143136-2412-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;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(199003)(189002)(164054003)(47776003)(5001770100001)(101416001)(5008740100001)(92566002)(86362001)(5003600100002)(106466001)(105586002)(77096005)(50466002)(53416004)(15975445007)(1220700001)(19580405001)(19580395003)(1096002)(586003)(81166005)(50986999)(229853001)(33646002)(36756003)(50226001)(87936001)(2906002)(189998001)(4326007)(11100500001)(23676002)(5820100001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0715;H:atltwp01.amd.com;FPR:;SPF:None;MLV:sfv;A:1;MX:1;LANG:en; X-MS-Office365-Filtering-Correlation-Id: 212302f1-1131-41b8-96b6-08d356ca381e X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0715;2:DwuFYcqUwYa3lk9r2FI7Bdw7m2JJ8iMa04KfOb//3rflKOiNpOE2T3ON67/3M1+ZnDpMEFizaS6c86VqZks9ziQx6bTdxejZaqNoYmwvwKPz2LmvKw3yO5xmqYHUQK7R2ZOPuYbdPyiCxZQdGzDtTNww9sydCr2bwGR+PCqxxdaJHQyFe7HqS0Y/Yzwvf6Gy;3:cZjN2ks4xQqghPeQTbQ7RWhJxlGfIXktqTB6sXyuFuAEoejFCuvS9LI4mp+ih7c7guqXaTItJ8QTUrLtuW4zyzp+nqIuwk4m41zVXeJxAOHS4XRmdKMxr4B1xOxmjaAc+7Je7MpbEwr0LxxebTXdtlpWwiup58H53+rVVHHao2ZmdR13fRzOqW8e/Ywf4w9k64kzfM+xhRYictiMC14zQryqkDscIpPpsNS1Axx191o= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0715; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0715;25:hsb7NsqOOkiorSgjRwcjt4Yb1WjT435OYuTnqpVKr6gWh2uOqUdic1XkBxVIX9qaJLAOFdqNxnABTEq7oc4jDk30xS+MDcJINaimHGXRSq09bInGya5bE5x8+sko7+iur7fBaWMrKwrOEgjfU+57KllCHMg6DaYPgH0X0d5rBQ9MCeRs1OuuHS1CdngtuT5/WUn1iakLfpBPQP2AaG+bqrdJVHOwzrC0lU4AK+amN0Ms+ZUkU1LKyfnC35ZTo1xclUkc6/73H5/WqPWiElLkb152ZbAs5m9OPCxRdwXAqT6aIxZwIviD+etI7gJP8DEcvdh3yWSSytuCM6t7zQnSbSQxLRsg8YLDfci/Ugy8eY8XcMBbbvxZ/gFonAOSggtuuRMA2UZqwtFpnFwAWzT0KgweHYqBv/qQbGxfRneIONTaneSsFlnFuvvYMVQt+d0zbLWS6izCaTpgB50hVUQ5tuJ9IonE9X+K9ou7SGN1EyxV72PN7vWmcDqYUH+BYJcdKIHPsLIfPhOsgS5FQ+a8QGXvnlD3AV7Z83K1J48jYaS+zQcdBj0voOZRNxs1xwKJiQebFA2jij1eDC7SO5Nl7Jnir/poiT64Od9A8Ugjpe44zpc2kQAsXG53Ev/8K2sCywB/P5mgqY1Vsh6Usn/BaQ== X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0715;20:sxNloj/AFZqWDl9qmhzx1W30mVxTfI872FYhS/PtlzWZV04H/j7RKJHm7FlJl0vG610u8Qio5dSmhuDOb/RBuMZvC9xF6Ezeoc9L3SrFPDRkM6Z2+vmff/tyyvdgJiuXLDEF2IFsW68XXtey5MpVEyhe3driZEFS6MTmLLVbytzpt6GAEj4OvWEv9nu2llPxsXo0OQrA7LUhv5dxXIlkxU+E2meIftNgwPS3nm1JW2HnWU3yrhtvS1yGzLjXxmEScLe7q9otsJP6rp6vTQMgtxnyXASpmRZAhU2S2t34Ujcl11vXx31aY6z7LAtFnDC910+b5Pc8btjwVmLClMwpm47nNQ5+lxeYsT5vJKsBdRZQvaxVa9cd8lTeGQCGr1A+Qmws0evJtJSXAj5OxRLgMYbiDty4MSvjwgEkHgFtfa5dhc73nnfnBHglTdqpSvYfXAJueMQm1YD4k/sdWBZOcIc7wYdlje9yYXCzIO+bHygQl8m39So6qmOZ4WkekuUk X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13015025)(13018025)(5005006)(13023025)(13024025)(13017025)(8121501046)(10201501046)(3002001);SRVR:CY1PR12MB0715;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0715; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0715;4:5wHQYHAfzpZ82DMapCK1BhKRCf04se6dtcMZ40uLhyNU1nCrv79RiRn7KSfd9lOeH+qbilstBP8VZH20ssXNyGFcVBj7JdEJ/NIvo1ODZt2A/y4pEKZ25L9SyKt82BtDMfMkcYAQUbIdKBnilXy0zhtx1Q4/1iXpoGVISp6v+x+dEmDxn/QyCD151Q9ZNHUcQW0qxjhCWdBK6RFkI8BNJo4FjwMm6uO7zAnXBltE6N2FWtP4OW5Uto6PFW1Sxm/76TgFdlG7LDUjyykhGVXQnunhvT6VbqVLia5+USkhEBd5WMGRqz7VviUeQxoODAQRU4Ua2pG/SBB11x+g21Lh2wIXZA07sPSBYwUg24L2Tyxcyq2qIv/p3j1dRQAtga80qjG1d932cCQix3B+RoqPGdkMOfm3vK/PR1rfz5xEl7UNgWVyfs0Og7gV1YGMUD06MAM6U3oMAJXpvfab9FYCUg== X-Forefront-PRVS: 0895DF8FFD X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjEyTUIwNzE1OzIzOlBCRm9CWEROVUZxSlFoc0l4dnR2MnpvQnRC?= =?utf-8?B?M0o1NVdqQ0Qxclo3cTNtSjNkVHNQUWpyYmdhaFZ3WkEzZ3lyTEhuQ3oyMlY1?= =?utf-8?B?YlhXaDExWnhWRWFPRjVtaVhaRE56L2lGb2hmSDNFTVgrUkFzcm51TjlyT2E4?= =?utf-8?B?MUtMeEtONURkbWVnTFcxNUxGYkI1WlNTM2JLVlAyeHc3YWp0cXpqUCt0bGFZ?= =?utf-8?B?TFRneTVzU1RGKzREbjBpNFFhbHB4d2d4U2FjbVZGWm1xK1ovU29TK2VRcmVG?= =?utf-8?B?Z1QvSGhOeHM4UDZ2WlFMblI2aWc3ZHplQVg2NVlYVlZ3dWhPbFJ0aTYra056?= =?utf-8?B?YkhqdVVibytDbTdENnF5MlpIZTRaVVZrZi9ibUJOTWh4MkdsQ29uZ1FsUmJN?= =?utf-8?B?YVBXOEM2bjVMTyt0NVQ4SEpWQWJpVWp3SkJiaW5UR1AzbWpXVERXU1FrVEZ4?= =?utf-8?B?OGZsdzhqUzU4N244UWMxcUVSWDZRMkdBczZRejVBWFU3UWtLRXNsWjUzNXVR?= =?utf-8?B?Mmg0Nmt0YUNoSWxzS2ExVDh4VmYyRVQ1S3UyRzRGWDA2dFh0ZkpVV3lIa2gy?= =?utf-8?B?V3V0QjJEUE1oZjd0ZmErYklwK1ZIM1BXNWhETWU1L0plRk0wR1JKSnQ0Y0dQ?= =?utf-8?B?RVovWnF6ZkNBMXoydENCbEJOYzZscmloSG1PVHA0cUZiUGE2MkJZQTJwcVhR?= =?utf-8?B?UisyWWhDMWNDM1M3WjZBNUdWZmNKUkNwZjdDWUh4OWJWZmYvOTJHNThaOFY1?= =?utf-8?B?NWk3UUE1MWIzRHlybDI2KytLeDkvNloydU5PMEtWRlRHK3J0UmErUFZhSGZP?= =?utf-8?B?eU81L3BGNUVJaDU2Y0dxMzBJMXUrRFRvZGVmYk50cHVqV1JwRW53VHQ3c3Zm?= =?utf-8?B?WW04WXZCRDZVTHljd1FoQW1WeUN0MExNWjVLR004ZXF3RzJ1TWdMK2czbHRw?= =?utf-8?B?c2syVnZQdnJZcWRxUWtoSUh1MEZJUWJadU1CckRRV0dsU1NoZXc2Z0FGQXdn?= =?utf-8?B?NG9vUUxla3M1akg4cHFzbTMvUmExWXBZNWdLekc0WjhzUDZZYlVPelp3TU9N?= =?utf-8?B?TCt2OGY5OVJRdTg2akdmendQaUd1cG82aXZDREpYdVdjQjkySERML2x0d2w0?= =?utf-8?B?UitoSXcrZEdsNTBOL2MyRC8yR0QrTjhxYVltTnd4MU9hNTkzM3BBYUVScWlW?= =?utf-8?B?QThzVHZ5ZFJMc1JQTkZ6aVlzOUw2eTR6MVpsS05IQjhSNEFmcTVyNFdxYk5C?= =?utf-8?B?ZDVBZmlteGlBYzhJOXB4YzdkVndwNjZBUFdOeEJZeWVqbmNHUTE2N3pCWXVx?= =?utf-8?B?YjdBd0tnK3RCdGp6MTRDaFBYWE5WNUxyOG5BTkhJU2NiQXl3MkxLd1lWejhh?= =?utf-8?Q?rXY7/oUe?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0715;5:6urbYSLOrsKMtfY5yeD5Gw1xMozC+FLi8i8owFuvy7BGeXoALPY7kCXd4VFG31IybZfWYMF5sxAW3Zi5BfWdOGWJZEm6LZSYUTe/X1B2y0zX8tSOn3/YSprsSEaUt5nFdS/95eGxvFOXjEPaPuu9MQ==;24:PqlpqOAcMsk37g8+5CnoR2m0wm0a5i7wrBSa1w84MVknz2kA1cjH1jzc1lX6LD6vu2qQft1VmdtswKBfttry61/5lnP2r7jupEIWHa8xTzs=;20:RaM2La7VN0W8ZIH6de8LIGudmz1wTLl3Nj+mQjiv6yg8Djm2CnkTIb8aGOCfSCsAIEF6SPnCMr1pLvc0vMXZ+vKpovM1Ei8yIlDSPVXuLTTXUxVitYZhVDHx1AzZgxKt628lu26KM7WGiICGFUcVzUmDZ6HzCWsku9wJ1DsaB9V3v3OhFVLztmt2gCLn4hHOQjA6l0+BPShB5yw/HHICWuolHSYb5UeSDEnfeJfFKWUjgd2ggH2SIUbtz+gIP/NB SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2016 05:31:30.9908 (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: CY1PR12MB0715 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Guenter, 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: https://lkml.kernel.org/r/1438744732-1459-1-git-send-email-ray.huang@amd.com 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: https://lkml.kernel.org/r/1440662866-28716-1-git-send-email-ray.huang@amd.com V2: https://lkml.kernel.org/r/1445308109-17970-1-git-send-email-ray.huang@amd.com V3: https://lkml.kernel.org/r/1446199024-1896-1-git-send-email-ray.huang@amd.com V4: https://lkml.kernel.org/r/1457662670-3354-1-git-send-email-ray.huang@amd.com On V5, I used the new x86 topology with compute unit id (cpu_core_id) and compute unit numbers (x86_max_cores) for AMD processors. The change and documentation will go to master soon as below link. And This way is better to use smp_num_siblings which is un-defined variable out of CONFIG_SMP. Refer: https://git.kernel.org/cgit/linux/kernel/git/bp/bp.git/commit/?h=tip-urgent&id=f6ce1851fa2eec2c332255fc25a544658dbfbfe4 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. Changes from v3 -> v4: - Rebase the patches to latest groeck/hwmon-next. - Use smp_num_siblings instead of cores_per_cu accessor. - Refine the cpumask method which is inspired by perf solution. - Fix some typo and errors. Changes from v4 -> v5: - Rebase patches to v4.6-rc1. - Use new x86 topology with compute id (cpu_core_id) and compute unit number (x86_max_cores) instead of smp_num_siblings. A simple example: ray@hr-ub:~/tip$ sensors fam15h_power-pci-00c4 Adapter: PCI adapter power1: 19.58 mW (avg = 2.55 mW, interval = 0.01 s) (crit = 15.00 W) ... These patches are rebased on v4.6-rc1. Thanks, Rui Huang Rui (6): 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 hwmon: (fam15h_power) Add platform check function Documentation/hwmon/fam15h_power | 57 ++++++++++- drivers/hwmon/Kconfig | 2 +- drivers/hwmon/fam15h_power.c | 199 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 252 insertions(+), 6 deletions(-) -- 1.9.1