From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756768AbcCCID7 (ORCPT ); Thu, 3 Mar 2016 03:03:59 -0500 Received: from mail-by2on0071.outbound.protection.outlook.com ([207.46.100.71]:38816 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751316AbcCCID5 (ORCPT ); Thu, 3 Mar 2016 03:03:57 -0500 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: 0O3GEEF-07-NUZ-02 X-M-MSG: From: Huang Rui To: Borislav Petkov , Thomas Gleixner , "Peter Zijlstra" , Ingo Molnar , "Andy Lutomirski" , Robert Richter , "Jacob Shin" , Arnaldo Carvalho de Melo , Kan Liang CC: , , , Suravee Suthikulpanit , Aravind Gopalakrishnan , Borislav Petkov , Fengguang Wu , Huang Rui Subject: [PATCH v6 0/2] perf/x86/power: Introduce AMD accumlated power reporting mechanism Date: Thu, 3 Mar 2016 16:04:42 +0800 Message-ID: <1456992284-4808-1-git-send-email-ray.huang@amd.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Content-Type: text/plain 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)(164054003)(189002)(199003)(92566002)(47776003)(4326007)(586003)(11100500001)(5008740100001)(189998001)(105586002)(229853001)(87936001)(5001770100001)(106466001)(48376002)(50466002)(2906002)(33646002)(36756003)(575784001)(50986999)(86362001)(50226001)(5003940100001)(1720100001)(19580395003)(77096005)(53416004)(101416001)(15975445007)(5003600100002)(1096002)(5001960100004)(1220700001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR1201MB1082;H:atltwp01.amd.com;FPR:;SPF:None;MLV:sfv;MX:1;A:1;LANG:en; X-MS-Office365-Filtering-Correlation-Id: 0204e350-dbf7-422f-c0c5-08d3433a5d59 X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB1082;2:+TeXmzVV3FNdBHp/ZoL/bMc1tAfuIPhS0goAQ3+aZDbFNxbqHswIzYAd7Skwc7vgWceh6KfBpKX5+1ORZ7+8LcCSk0qFw6putg08+6+bC5NZTcf1LqmiMNsUzeTfmuWgAHce99FahN/bjn4VsQRum4rivt+hNe7Kr3dyLNEHvBmhGAzpPx/nn1Gt8CpIDEZP;3:SADI5baOwb+pUYAdvk45GD4QkbX+heTWI4TVTvZP8i2Ll0TgiXA4sbpF/NjQT2wXDs5km1pyz/UVtO9hG2XverIlkg6MBUbFNhrZb0xsyzTSzqA0ciQs4UmQ1Vg11+V00MXlAjfF89l29wLh6xh9MTiJntS57Kd2bGUQ3fwIp2Hi06VPwM5V4uP00KB7iek5gHjNF2SkZvAkpt0+0F0HVfjWKhkoDdj/V2kqIHQstJM=;25:ULnrAH98Vs56X52nxPPui0jBItZwyKz0WQ4e7ZdkdqcEVa6+tAliY2pzrUx3ZcoB2GkuuDCodjH+2sGZe8PVstJeHtYpWhG85ZeQh4sAYevslSdCKN/jXzY/w3JialuSoa960zZEyHIwBunmU0WgidVYmLlpWdLpkNIfooIvDoZyjsAwUOMGE/tOyxyO47jcAPVKymG4of4PodLXsE+F5LnFspep12VOsK2Ud88BS+oSyQqDynyqA8lCPzA5/BaQe4tNBj4YWw2JKilTS+ABuP/zr8Dz3K3tYkKk7QMpleyDiNHk4V9n1WTTxplzoaeLt1aNpw608cMybQ2UotKcxg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR1201MB1082; X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB1082;20:UjfUcNF/nN3KdzzoVe+eZmsaOqAjtRnwH+W71fyUVLIlY/eeeZv5YSlO7fZ8cG7N2zdjcAdQfcRMWvDeD+eSoSHXkhS3SKj6Fzd6UK5qC44YLvonwUtyYjPAY5C57pQqj4ZVFJCuiYEMqlSfgiW/EX2Y/l40p+RPHsCjj4zfdrWIYToLaRcikhQBChxUvkAJYJ8Yq0PWn6aTe1y3bDB573oQ0gtdbZvC6R0GkQVsZe6e1tygynrMmIOYj+7rVjOUlFtGYpGn1HxziPg0N9XY25wiRxqw/SgH1+coJ64bmaO/WYDHVOKmxeFmkMROE3Ckc/b+cBLoIbUpapSaKBEgkCP9s4a5bQ5bucAahkUZwQ7uJ2QZxgoEWy/OxLUTy1fK3Cru1hB0uqvxAn/1ENNHrft03VfCaT2Fl8uCiy/UwQYOnf1g5wQ+ZL4liG0dYxq703fE19OunIHb07rAj4hjS/bOyYZ5zCnDhwyRf9aRxK8KArPMPD97877vegAM6lmJ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13015025)(13017025)(13023025)(13024025)(5005006)(8121501046)(13018025)(3002001)(10201501046);SRVR:CY1PR1201MB1082;BCL:0;PCL:0;RULEID:;SRVR:CY1PR1201MB1082; X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB1082;4:oFj2YVDHvCo7LDHmdvaX8ZhmgIpxcM/03JhpE+kPpBAarqtDwG2hvZzKSwBFmBz5wfcdmggWrszNU4tq89y6uK6P1EhQJt56fGZfeSaiTnNkDUHzSSyBUpZAIuUXQkz9KZ1H9xHaOJXmmtHV+1FrMa7vkAzUiYib2HN8QP4U329VJIMGhRcdD0y8mfR8DCxYHTC03z4mLOY3E0mbTOWfTF0J7LbwCXCyFMA/5HIynfim2hpuXzFfxmmpIpYiziSgWepSiHB5M9yLoZ4TqytxUlRRe4gn0cU74MI6pxr4LMHyJH7S7VHyEO64nz2VG1tzVvfN4Iv8b1oJo5NxhWE4RqWOkgUj3rgfwCacbPA3T/I4ubFD/G+qMcZ26vanORIytFpzKJK42EvXwT6JITPDrOf11illKKmr1HSCoqMkOPmSigDuo0+cQyFw9W02vfOdvTFM6Kq4KcQSP989r75Q0A== X-Forefront-PRVS: 0870212862 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR1201MB1082;23:ockMstAD6bBofctyCkuHQ1FNaNAxx1eI+FZ73ps?= =?us-ascii?Q?+obsWz11A8CnyBfwZYMHGNEcXtS+vC+fynZv8ZR1AzRVCsDylLnddjQ94u9F?= =?us-ascii?Q?X2/bPe9nQHUlD4JklEaf0aK+fLUDsPMs4TgOt5uYsUAk5ejL08buCxaQ1vbw?= =?us-ascii?Q?DZn97wiovFfJy9JsWxY7HPlMYT4q/XxrFYjVo/senD9XckoRGl03711dkOBy?= =?us-ascii?Q?BRSLLIIc1Ul5BrdYcf1PwT2D7OlUFr1cLVxPg8K8g09sPZZhXXZoURDan0Wq?= =?us-ascii?Q?+jPIq4h9rYbuUlyTsBp7dQc/sEGzct8kA9RgyWszyyKWlGPXLIuMtJHxXiZb?= =?us-ascii?Q?LjkA2oIyemb4/wPFNinzmM008p5dkYxDwOz60WXSpkZKuoJ1sqGcaMH3VUsX?= =?us-ascii?Q?hbkEoQc2l2PIGQeotuTQ3gAOEJ9/NG+++aYTRelP6Nq/jZ9F0Nc75u+5qvNV?= =?us-ascii?Q?xLuKQChve+WV/Gw+oZ9MHXAmnSpDAdNHoA94GYDCzXEwblaGByasWuN+icQy?= =?us-ascii?Q?nJvsANjrzYIK/tLRJ6AuxHOffsNQ/u7phxLNFLmIONU3MQlGrUKSRGe3Q3Sn?= =?us-ascii?Q?Dsn+L484WXFx/xkBfjljBBBwF19z87772iJhOtqH+w3QiAsGqjyCBQr7TJj6?= =?us-ascii?Q?ogh8T8pwyUP4xlxX+6YJq5s5EVYG8DQmTz4OiGrKnnuHogLo/2r7R+/o/KPd?= =?us-ascii?Q?aKyiN2TiumYZ0tsxohAG0nif323xPomwfQyps9WPV9S8UA821JbsrGyanDVi?= =?us-ascii?Q?lzNOMI4cgG0MyKPMplkFQ/LdPuKCsMWqk0wCkMez7VwxWOovsCKw2Xew77fv?= =?us-ascii?Q?vXnBgnr9GLoaBrsXxBV3MClaSD/u0LNrG2iivWtKSS+9t2Ssmalct7hDvSSo?= =?us-ascii?Q?IB47Tpjx/XZ1DkWOcZAq8NfhGx9sihyf1UAMgoLtwbfRekgwKPT6rnDg1upD?= =?us-ascii?Q?yNOi4DM5Xr0antI/3wvO0S5caSNg3RbbPoFiqKbDokh0W3oqij30iDCZFkQQ?= =?us-ascii?Q?ATzrbzvXV9NXixAbRSrb5KTB3n8Y+T48faKI+L2UmsDgeNg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR1201MB1082;5:HjyxeWSIV3QPHmBgCnkVoPdAxNWd6Yc3cShq+Jfh2pOoTtLLt4RLTD9huwcZeTey6zKBmqkSifaVZZurrEFVLiEJO2dqm5JXQXm6QiW5VA7ZpmiXJ/+OJpDw2p6LM7rHdATXd1lOm2HPcQFqMH1AdQ==;24:WbbJbqSTHHgtajPvEXsTJbzTFB+75vhKWXNA7jDhY/OwPC+7TNoix/bwaK3X1ZXdBTLIXJnoM0u7G2uVCHdPqTMfCvCbTVEeEotHkL3+k9g=;20:rNJYHsfnyEspMLP5hVNt2xGWceZAeu+GLLLM4Gh3+n6KQU4rdUOi/+yxhe9rSx7YmCH/UTav+aYv/dygVBa7cyS+De/pwmPXPAaBes+xQyrgaOXf/iExSAL9aGtB1qXoWShRwVwnJv8uDMoDXROujntFyxnTQ3NH+rj0KVD0mKuoKBurAApsnWt7pzewZJ2oNVh9BSMIp3y64a2rES+hwSEdI/V1B7Vpnj/mgA56hoxWqoZBOFr06SGCd3vsCujC SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2016 08:03:53.1917 (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: CY1PR1201MB1082 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, This series of patches introduces the perf implementation of accumulated power reporting algorithm. It will calculate the average power consumption for the processor. The CPU feature flag is CPUID.8000_0007H:EDX[12]. The V6 is rebased on bp/tip-perf. And need two dependent patches at tip because of modular perf driver: http://git.kernel.org/tip/675965b00d734c985e4285f5bec7e524d15fc4e1 http://git.kernel.org/tip/3712bba1a260ad851f3aa8ddea9cb7326f6aa0b3 Changes from v1 -> v2: - Add a patch to fix the build issue which is reported by kbuild test robot. Changes from v2 -> v3: - Use raw_spinlock_t instead of spinlock_t, because it need meet the -rt mode use case. - Use topology_sibling_cpumask to make the cpumask operation easier. Changes from v3 -> v4: - Remove active_list, because it is not iterated. - Capitalize sentences consistently and fix some typos. - Fix some code style issues. - Initialize structures in a vertically aligned manner. - Remove unnecessary comment. - Fix the runtime bug, and do some testing on CPU-hotplug scenario. Changes from v4 -> v5: - Remove "struct pmu" and lock from power_pmu, and rename it to power_pmu_masks - As Peter's suggestion, add a new struct to hw_perf_event, and track these values from per-event. Changes from v5 -> v6: - Remove MAX_CUS check - Remove DEFINE_PER_CPU(struct power_pmu_masks *, amd_power_pmu) - Remove power_cpu_prepare power_cpu_free and refine power_cpu_init and power_cpu_exit - Use smp_num_siblings instead of cores_per_cu variable. - Make this driver as a module. - Add a patch to export events_sysfs_show. Thanks, Rui Huang Rui (2): perf/x86: Export events_sysfs_show() perf/x86/amd/power: Add AMD accumulated power reporting mechanism arch/x86/Kconfig | 9 + arch/x86/kernel/cpu/Makefile | 1 + arch/x86/kernel/cpu/perf_event.c | 1 + arch/x86/kernel/cpu/perf_event_amd_power.c | 360 +++++++++++++++++++++++++++++ include/linux/perf_event.h | 4 + 5 files changed, 375 insertions(+) create mode 100644 arch/x86/kernel/cpu/perf_event_amd_power.c -- 1.9.1