From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751973AbbHEDfW (ORCPT ); Tue, 4 Aug 2015 23:35:22 -0400 Received: from mail-bl2on0129.outbound.protection.outlook.com ([65.55.169.129]:3136 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751796AbbHEDfR (ORCPT ); Tue, 4 Aug 2015 23:35:17 -0400 X-Greylist: delayed 923 seconds by postgrey-1.27 at vger.kernel.org; Tue, 04 Aug 2015 23:35:17 EDT 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; X-WSS-ID: 0NSLAKU-07-K3H-02 X-M-MSG: From: Huang Rui To: Borislav Petkov , Andy Lutomirski , Thomas Gleixner , Peter Zijlstra , Ingo Molnar , "Rafael J. Wysocki" , "Len Brown" , John Stultz , =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Weisbecker?= CC: , , Andreas Herrmann , Borislav Petkov , Fengguang Wu , Aaron Lu , "Tony Li" , Huang Rui Subject: [PATCH v6 0/2] x86, mwaitt: introduce AMD mwaitt support Date: Wed, 5 Aug 2015 11:18:50 +0800 Message-ID: <1438744732-1459-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-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD024;1:otQ58akSvW5j1UuYhLQolplfjov7hxOLMgAhm6fsE5pdXDPeVfqKiavsRtjtWqOx6rDR/SISZlW9fhtGlLMsEvkOWTRXBYeaM2mTKBuIh67uux6YLZHdN0joPKvhHw9DxKBnI+j71pkqSNcxCAZB6yjOHl54BmfDIbNvu6x5vvxyQZGrPjXzD/q8cIkYvFIc2NuVWkwdYmg19iiJxeVoJlbjLG8XN3lLajL06+eQrnDe4LptBq12pmuOHSRxj7NOj3RI6lW79lPmGtekk1UPan00Hya3NFxEN5lEXQrwy3hzw9TBPlHv0/j/3s9vKNtGW+B1Y3McuJDD4UyA9Z5ztA== X-Forefront-Antispam-Report: CIP:165.204.84.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(428002)(209900001)(164054003)(189002)(199003)(86362001)(92566002)(5001770100001)(5003940100001)(68736005)(4001540100001)(106466001)(5003600100002)(77156002)(15975445007)(36756003)(48376002)(50226001)(46102003)(97736004)(5001830100001)(105586002)(19580395003)(50986999)(101416001)(62966003)(77096005)(33646002)(189998001)(64706001)(47776003)(15395725005)(53416004)(5001860100001)(229853001)(87936001)(50466002)(6606295002);DIR:OUT;SFP:1102;SCL:1;SRVR:BLUPR0201MB1489;H:atltwp01.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1489;2:FJywNCAgfLCLiEAnB+YzJ5K/QtNvN5iSWf8UCAjej8u8P4mZ6nhuwNHOa8WIv2O2ybyB8KOv2hRP42p2ARIxLrwdRcaY3B+eBbFkeCY0AQbdbJnWm1OeCBD59g9kQRXLF5rlYl70zZcosiUzvJ+wS0SQWlyPvppsfNM7jrZq7r0=;3:2fjBeOMY/UbGizHzpczDz5BIdN06WeylWGrJACG4MVSWY8uSjnO85TXxypPIrpelO6qAHl/DcEkQLTFSWzgq41AenhtP9iDGPT8xhHipyV4xD1sLkCiE3/Lf/o2DUHJubx24K3Ws5CoUJSlcJnM1rDwptr2VDU4zFBBepjHeHRrVybhGoC+dTK25E5tZc4y1OTZIb+QNc/CFyfrkz3DErT4qmd91+YuwrBPsLRinLvAHToJssXERG0UXUc5iyRNJ;25:caGMc2FCF4Wj2L+/uHXYBvrea/GthsV0oYe2AT+x8FzhCTrzk6Out/3qQBGNsOuDr2BVWTtpH2cpJYSVkLvw67ABF7nydvCfTfqJBJarssZu1op92yO+VbI94ObTL2l0rO4a4oFZLPWIQwCmbxp9T5c7puu2Tyjt/iQF0pXuZ1iHLuwfexNi1KDw+nv2kUtmDqjJBFoA+wD9/nTg663Q6WmVpRm97n3j1UU33UV3KcF/F0RPMR3M4znNMwBWSFIN/KfoKxF7SGE0S9/pjXm43Q== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0201MB1489; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1489;20:Ba3nrcLe8JicPhS0lb6rWPzHPHpNqOFwrxDWpLptv6DLNO/CzEltAtZFE1/G7v6lIohQPJAYuaTh/BRe3svVfZY9iBYJDUjaeZmQKjavgXntfjNJRSmvEfcvUjZMVHEeVWGJSMi/2zs3CRhrXJsRlmW75WR5WK9jbJcoUJ2y/8cQI6SD9Kp/a0dJKqVFj7m/Vj3VzrfVsu/YgtjEoMs+5wtOPzWawSOfZ6CrQt6ZrWrGBqQgnTXAEwnLTB7ePv3MhinFjnEbrmmBO+pb9J5Xd80dy6+NCachzfdiP5K/7aqUMB5kvWYZ/8CNMfdezeBfkbFORhDXN6hwff2Ew5E7rcObDsUv4epNxgE7u/N73Et+mD8yvqbGYfQOBHP0yCCsd6iYQRUUb4DNyso/fJu9vhFKGR3eo+rXsY/yPF/N+vCd+SzEDszXyDV1WfCa1kEa2D4+cAcIE0X6ENyjO3ShskotaycSkMCd7N3JuwJtIs4W/q8vtzdnxU/LJ6Z33YIR;4:e7wfr5F/KoQKNj0AEg+Mtvp8KTPpF5RmlhoRUxB3tmUV7+TEruu5cL/1j9F3Yk1Rv/84ARHN12WgnYvHTNETrQdHu6HhraP2VNbAm9JPgP9+5vtO0fE3Y+qQjJLmcKHGYFsNVhYiMxZgxMOL2FUBHrBIYCo/CkO5kXsFa7YwwrAyAGgMdyODIGJOL9cPsWoih7ak7/LbzpIA/Rnq2vQO9ic7bzS7L0b9eatbYnUqx8szt9/ssuGri6yxoXncoupUQrQ86uzSeS8j5CsQNYm7x5KaoyYA/kzuDoBrjbNjXBk= BLUPR0201MB1489: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:BLUPR0201MB1489;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0201MB1489; X-Forefront-PRVS: 06592CCE58 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR0201MB1489;23:izV5W3ydVKkGy+AOknBby21FF8HEirA44bxe3E8?= =?us-ascii?Q?7S4j5sGf5lQgltqkU6jA6DvE8OzTAcV7rROUOqK4s859yUYKHcvTQqBUmgeZ?= =?us-ascii?Q?+6T0QT3dmLQAKFIWho4+DyiFxKi0cylv5HTf+gH6R1foQMb5bTB0E8XVlxZN?= =?us-ascii?Q?gPhaa1otDqa0opCF1swCREoXwvy7xynrAikwXTCqUmMSZQuwIvVupjhABbkm?= =?us-ascii?Q?WE3G86Xw1gEloyRtf9lg8wR2wIZP5Yo8xboSURu9P8EflMt1qd2tljn0T4EJ?= =?us-ascii?Q?h/5Gga+KdKwLaHU+/SloSDcwyUYVy5u9ICS9FIY+1JSCruCQMDqg/mKfPCIt?= =?us-ascii?Q?u1ald7cSmKHKE7m/4kR2jAKqVSslfZjTerurezhTmZhGL1f538m945u1vAYs?= =?us-ascii?Q?Nv2cCDnN3RsiF98adm/qCJlhKelN9/h6yOCz5EuMCOcejlyf3AaDTbDksdMy?= =?us-ascii?Q?1A9+LmRVsn86Vzw6PEelNcJQfFW/2XA6ZQAWuR970HSH9oFm+ox3VpoqV5nm?= =?us-ascii?Q?lxOtyghRLRwlqCIJLL3VCHQboAoeGtsNxttOUi6J6QZv8ZvwGBdTauD9jVSU?= =?us-ascii?Q?4+COne35krbNMiCfF0o9nIOdZn/zhfMkVkhiSh5Xs8Idrd/5XkJ8HVw4J8pn?= =?us-ascii?Q?UpQ0WyWPeZuWNj6doyDlPBbZD5aOJ0s1oat+Teo+dwT1jfACQkXDseH16Zp9?= =?us-ascii?Q?Mve/DdyyIMxGgxXzNyA2FMQWuRDFWD2xZIrL9Hg8M6NyIgNmzi4vvZ9WwnOL?= =?us-ascii?Q?lhqm4JFBfvIjlNZNyhIi5L9MX7+2S13N9xV20nnl7jbixouHbwtwQC0y5L3A?= =?us-ascii?Q?Kca67h4bcf96NDGX0dwTyIcTZmR55DyXCHsZoNx9qlw13NbCmDZ+HczQbktb?= =?us-ascii?Q?D4gKbceq+xUdLj57eyIohqZVkmzvl4HKaesJfeIeINllbIRXYNQlLbEAWFba?= =?us-ascii?Q?iMzwF5fP8YWoyiUNYel6aJEXjg+z4mzO8hx4zF9VfjD8Nti2bRGr9k/Z5wYV?= =?us-ascii?Q?swWDSCYnCIIC5HDNtQ/OF3PkK33rH+8HgIz6Bp/SuIZImLNYw4TZtulH8qbE?= =?us-ascii?Q?naKaUjQSi9vykL5slFmtON5I7JnAECjfh70z1FZTNmH8EdJv2OQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1489;5:TodJ9kiKR+N6RD14P+PEPa2lwcamY9xaC/4i8ZdINQXO+Hd4AXs44CrijidClAzcyrTgrGM/654VXRqIDbXwmVneGbLVYcxhs3a5iOrhpGKWd39cQe86vRq1RXja05tMcriyi7wSEZvesgKvlVeQ+w==;24:RPvlygaqX00n+F4BU6CxUhDO+IXoZjk9AIq8WLo1BxlRRsfNch94SUfQWWFgEuFbiA493ocRbNtS3SFpDSLLIaSneFgOWWHvDJ6fN1QF4q0=;20:SznsHz3pi0vwibht8/++J3b/tsp92+LGgUVTJbwEW2++0+IkN5QPXmYd+5X+g6TIOFf4ZFLL81N+mOpvHnkVTQ== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2015 03:19:43.9970 (UTC) X-MS-Exchange-CrossTenant-Id: fde4dada-be84-483f-92cc-e026cbee8e96 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fde4dada-be84-483f-92cc-e026cbee8e96;Ip=[165.204.84.221];Helo=[atltwp01.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0201MB1489 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, This patch set introduces a new instruction support on AMD Carrizo (Family 15h, Model 60h-6fh). It adds mwaitx delay function with a configurable timer. Andy and Boris provide a suggestion which uses mwaitx on delay method. As Peter's suggestion of last version (v5), the serial of patch set provides a test result. http://marc.info/?l=linux-kernel&m=143436586513713&w=2 Some discussions of the background, please see: http://marc.info/?l=linux-kernel&m=143202042530498&w=2 http://marc.info/?l=linux-kernel&m=143161327003541&w=2 http://marc.info/?l=linux-kernel&m=143222815331016&w=2 Patch set is rebased on tip/master. Changes from v1 -> v2 - Remove mwaitx idle implementation since some disputes without power improvement. - Add a patch which implement another use case on delay. - Introduce a kernel parameter (delay) to make delay method configurable. Changes from v2 -> v3 - Add compared data on commit message - Remove kernel parameter - Add hint to avoid to access deep state in future - Update mwaitx delay method as Petter's suggestion Changes from v3 -> v4 - Put the MONITORX/MWAITX description into comments Changes from v4 -> v5 - Remove mwaitx function - Use mwaitx_delay at init_amd - Use cpu_tts as montioring address scope Changes from v5 -> v6 - Move definitions into patch 1 - Completed the power consumption testing both with MWAITX and without MWAITX - Use mwaitx_delay at bsp_init_amd In MWAITX delay, the CPU core will be quiesced in a waiting phase, diminishing its power consumption. Run a simple test to measure power consumption: cat /sys/bus/pci/devices/0000\:00\:18.4/hwmon/hwmon0/power1_acc; sleep 10000s; cat /sys/bus/pci/devices/0000\:00\:18.4/hwmon/hwmon0/power1_acc; * TSC-based default delay: 485115 uWatts average power * MWAITX-based delay: 252738 uWatts average power Thus, that's about 240 milliWatts less power consumption. The test method relies on the support of AMD CPU accumulated power algorithm in fam15_power for which patches are forthcoming. Thanks, Rui Huang Rui (2): x86, mwaitt: add monitorx and mwaitx instruction x86, mwaitt: introduce mwaitx delay with a configurable timer arch/x86/include/asm/cpufeature.h | 1 + arch/x86/include/asm/delay.h | 1 + arch/x86/include/asm/mwait.h | 43 +++++++++++++++++++++++++++++++++++ arch/x86/kernel/cpu/amd.c | 4 ++++ arch/x86/lib/delay.c | 48 ++++++++++++++++++++++++++++++++++++++- 5 files changed, 96 insertions(+), 1 deletion(-) -- 1.9.1