From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753301AbdD0RGL (ORCPT ); Thu, 27 Apr 2017 13:06:11 -0400 Received: from mail-cys01nam02on0067.outbound.protection.outlook.com ([104.47.37.67]:54192 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750955AbdD0RGA (ORCPT ); Thu, 27 Apr 2017 13:06:00 -0400 Authentication-Results: zytor.com; dkim=none (message not signed) header.d=none;zytor.com; dmarc=none action=none header.from=amd.com; Subject: Re: [PATCH] Prevent timer value 0 for MWAITX To: , References: <1493156643-29366-1-git-send-email-Janakarajan.Natarajan@amd.com> CC: Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" From: "Natarajan, Janakarajan" Message-ID: Date: Thu, 27 Apr 2017 12:05:38 -0500 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <1493156643-29366-1-git-send-email-Janakarajan.Natarajan@amd.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: MWHPR22CA0052.namprd22.prod.outlook.com (10.171.142.14) To DM5PR1201MB0010.namprd12.prod.outlook.com (10.172.87.151) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 30e2c1c2-6aa0-40dd-37c4-08d48d8facf7 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:DM5PR1201MB0010; X-Microsoft-Exchange-Diagnostics: 1;DM5PR1201MB0010;3:MZkpzXyHET0TvKKnkeilRR3jRuU+Sm2blryI71NL7wjmUrsOIiq0l+NWZ1nqV6NsL/RRRiodSrubu/Kn57Vp5s/U2P/rOyPOYt062N+1QYtyLyl5majeoUD4hJCSDL82QDnKswcL5M27dNYAGXNRwCUcb+IyPOWmwykiXhrJxXLWq6UIoz9aExqoSBZmDpUxQHAZxFSiiPVsvechGRDDletR8ES5p6GXPxxGDdCkxMzPXZYc/xiJtMbfzJDxBKz58m5rqMIK1VUSuntbX+xoZtysoPDUIZmYUrJxjHxqap/S7SNkl4sVD8L9EXwfe7cSn5dwUQawdyk8FsJOmNUWyVt+xA/f53IHVflN6j4Aayg=;25:09ut+fSbeybuR8HSx7ZN7lOwMzuMwwIq+RmIt3kg0fB8XmtR0bsBWDQ92OosN03QnH//BJl6AqtDBH+DC/RuPWaHaqyFWD8U8fwRDfBZruomp0wR1jWvoT0TIdNarVX4DO1a/IEKwr3+GbyK7fWZSbdcnr5/45BYYfMgA//F9wWYsjP6/3wnLZ6y6z2p0ViVhPpQCCutuqPVmd9qLKqqjQDnhKQ9kQHo+xkrdkclXzjfi795UNqHatFqA7uT3eJWLO1SQ0yOpmcBptoNPbZ8IoJvCRCb2bIz8SRdQuhVEP+VPFL02tXeniFeE1s7za3+c05fXlwMklxYx8AhiRLTisAB2dCEWqVHagjLQwDgJuJMNTi85HZ6RLQMbNWCmHZPXDCpT0cxXmNaWCE15bwx1B2djxOINyejywqL+zl4bGu0UDXkiy/agfd05PnsNw6N4MmjXN5yY5yXm6ZnLdAhUQ== X-Microsoft-Exchange-Diagnostics: 1;DM5PR1201MB0010;31:tpy+JMqoMfH0zDcUVf4mNe5JmCUdrBzSS2D99vdUX2Er+WUw86ltSurnuYBbYt3e425xIX6Utcc22mb1FY+jxY81zA5iAwjMPhT2KAOhvG7UpK6HrFYXVIg0okEaTIIunyDaaGIZZOZKhmF5vOEU+6keSODlVbWDi+DI67/lbn47qnkZvwByTuvLy5TvBOqqZnhUAexT7yPCA1IJg3llCOKoOy40L1BuWu/YIaN6LpSRbBwajKKXT50nrOGR79wY5mF/GXnWISKj2sFWW2n9ZhXzthBzjzDNG7z6HNzJiGE=;20:nHqJNh0CsNaXEjxXZAVuK2WWP/Pt1u3QgxNaA0eS9TtWEYclQuNLSNxUa7byccxKXHHm9hzbRrElTnmWWZ7E6igji+4VVE1URqRM7k8r/RwlcnM1LMXbgp5lhzH6ZR+iBCwGF6nqH/g/dsV/DzgGvGzkHOjmcojqOVvBbK1MzDJkjzCmhoxHrPUh/hja/mJqF/X2Lfsdu7L8UFidrhqz64/geLC5VUTRwIhnlc5yfIyOjkP2JXu3vD2i5ByVKs5TiN/8B8ok5xv7iDak+gUW0tR9BnWRJ6OzCNVscNWHzvw41tFz9EEyuFQ7o1y/W7MouCBYqfyXgLmyMjQQgUCJGN3CGavG80xlxlLNHQYXDl7zksEPAu3mi3GYZIKqHUsFTnUi/73/eZBmDMtyf3EPsaFulP/ufe9fxSjxbVu8ai7qvhpG4NV8sdn6QPE2IihCAnwJjY99yto1p7SDu7Q2ZrKSqhkPM1qhP9jGYVw+AFhTnZgfX8xZxJGvQiNUJGAX X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123555025)(20161123560025)(20161123558100)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148);SRVR:DM5PR1201MB0010;BCL:0;PCL:0;RULEID:;SRVR:DM5PR1201MB0010; X-Microsoft-Exchange-Diagnostics: 1;DM5PR1201MB0010;4:CVMazzDUCe1H/z/+Q1LK0wNCv2zb6ZVAFwRu75pGqXgUtWarTezNzUNNuOOktXRznbxFQe45ul0hfL2WVG/tXKbw3mTL26ool5trVo46o7GAGCeJy9pWfEzusPLUKU1yjm1D3AqxWFa5BeNp2MHK18/3/y7mcBj1dNIi9ES2jrd1rznTnkv3UepM+hYqo5PxpxuuKGtXd2xKv4+Gno0SgvSI5CNrmrhDkqjBm/P19Oyfsks/aoXoNpoPPcXNDPTAKzyE2DrzpPDTX5GCy56v/hGhgbRz0hCSWThp4RXl9K2Ptzebsfa9lRi51gI6wHyUPYhcJHo8yOiGrgYqBX5FIkA1JRZBylTkW8DBkCDtuomfgrLTx4U29Jcl4rW0oKDcpFtVm9B0hrtV3G+iDLGkT8X0KgfVzLJa0XSixhO2PgUUWeZF5uJCG8ewVHTQ3pJiffeo7NG7y89TDJcQJu6usVHEmx35f+2E+YGYjFo2DtjTQvrGmsaFon9XbR3KX04cMCpjIfPNIyFgbvBNkVz9re/xSVdwp794n1yh7KhR7D2mKVT62SAzm2jh3rA1aDYh+AadcJZGJ+8Og2VrvKzVCAHa3dfI50YW5RXqTg6q5gqpylAoV5gkxETNZizxvdNgZwyCnJ+EDlC8wMXxAt2u+5Lavtadg2hxsz605Ory0vyI+rMAfGcHib5VrnMfxWibUnfWE0ByUd25s2uRV0o/CYim7Z5vLzJcWwiy9+O6KKgPOBhA59RNxkT6NH7WPMXFk8lzmMWXt5zDheYAufAe+Dyi+Xu+gJF34eKj6ykFlo262nEgARJ/ph5IsQu6ZqvjZHbRJp8ZaJjvkLvFT8Fma2lEbBOIvgquRHNKcZk1tzNRXPfoEIkSJ3qgjgSKtF4i X-Forefront-PRVS: 029097202E X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(39400400002)(39840400002)(39450400003)(39410400002)(39860400002)(39850400002)(209900001)(377454003)(24454002)(65826007)(33646002)(8676002)(81166006)(189998001)(36756003)(230700001)(23746002)(5660300001)(4326008)(53546009)(25786009)(2906002)(83506001)(4001350100001)(42186005)(54356999)(50466002)(6246003)(64126003)(76176999)(90366009)(53936002)(966004)(47776003)(38730400002)(50986999)(53376002)(66066001)(6666003)(2950100002)(7736002)(6306002)(6116002)(3846002)(54906002)(31696002)(305945005)(77096006)(86362001)(229853002)(6486002)(6606295002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR1201MB0010;H:[10.236.68.193];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DM5PR1201MB0010;23:LcyKDSZy7h9bhkav1+KcE+NgP5zN5eItC/G?= =?Windows-1252?Q?BCE96IQ2LxvNVzyU/nEhPX6k0Vbg3RGiSj/daWDLX66ha5hIsT1EAPtm?= =?Windows-1252?Q?27yD4DRMZ0x3hx0ir0KMdj7VlbUqikyBFV8ckec53VQFwQJad6YQ01tO?= =?Windows-1252?Q?cawCW2LScEkiO7lHJluhOkH58fnyeCfvxRxpKRVWnOCskO3KxhTVRbev?= =?Windows-1252?Q?KZ9Fa1nfevQtgTR7KM5KL4KtY6kpMxg1VQnYIXP+ty9kjsxdTqtvr83F?= =?Windows-1252?Q?K5mVK+8NIO5wfaeATexv9vFyYH03ioD/NMTKIkKUBMk1pzhiuLtUZRhQ?= =?Windows-1252?Q?GswMBH3QW9YMMZ9avUDU5llsXVE8bC8izxiW34bsDDHS0Cn2yZB8Rtzm?= =?Windows-1252?Q?pp7KE84+3WFMq3B96qPnw+5Xmue6yB9SGjfpdch4o6Fdr93YAPtUaCu3?= =?Windows-1252?Q?v74PPyK3AukU0s6XNo6YknhA/YRfIWt56psXzaP5Ojn6mXs5pxOXm0GA?= =?Windows-1252?Q?6da7R4F/yy8ILQvqB8abnZDXNLGWSsCXZQan/lCOsBLVi/yZb83lZmrY?= =?Windows-1252?Q?xQYDd88eqs5+cLEjY0jFr+2jhskFqXCzzkaDHrjiJ3wuUqpAn9lyD+r3?= =?Windows-1252?Q?YFeCsHtOcwMj4FV/ZQW6Vutz9BCsrtHZxaOcAPh/mOezC//TganIDixL?= =?Windows-1252?Q?SI3t9n6FJE8SmIfZB3Vn5VIJZWQykg1pZvWCukCnm8F6Brl/dZ21m3lM?= =?Windows-1252?Q?wjlLAmc0ev6QPoxjfmOnwpiBCayroq2BjdKa7ZnHP+O9e1Xwm1GzTckY?= =?Windows-1252?Q?hKpdDDHoZa1Z8VpSwB1ZvK36qIKpGDC1Nyqi9g6cd6oWvFeqmI+BWOZW?= =?Windows-1252?Q?KnoSqJO8YCwuhwt9h4P4LBTQAQIAulhpQinLdJ0Mn5sssV1wohbPmzvd?= =?Windows-1252?Q?JUaBuFpGK3AZTA8KmiIJSXhS3iwRaAz404egN/rElDVA9cqqW26TeyHH?= =?Windows-1252?Q?eHlTPI3nVxKuH7+rHr5oSbP3l0eQ9iFeNizHYx6+5udiPs26wZUHrTn9?= =?Windows-1252?Q?MAoJPL/qSsZfRBDsn0Wp0p+BiLYj+jV2JDJD3vyW/Y+Du2wJb6iKr7ut?= =?Windows-1252?Q?yVui+VxLHxVj0xpDyMmPGQ4QAZVuOE0820agdnq50QVtaGL4jU4/lIcH?= =?Windows-1252?Q?1B7/3c6tTm3ZrWEftilL6TpGwTwoWWEpCc0fMYbFeKjBlDQ4t62pmVha?= =?Windows-1252?Q?oFvPtQoEqMH4JeQgzFPEd9cP+OWM486uVGP5Y+1+3jbogPug0O3oTzb8?= =?Windows-1252?Q?K8PFbNE9Sk9q4iGM/J6Vfu+V53rh7eOlJb9sQte7T6SrhOw2IBTI4pMA?= =?Windows-1252?Q?aEf7OtETJeoozHfRN6v7vWzpvUbwX+lEYMI59TVbrt5oETgXiqhK9w+0?= =?Windows-1252?Q?ZowXHjLJ+d8s6ofVL8bgMQEjJmhTO6i8yxzxAICPsbA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR1201MB0010;6:aXqRwZEEF6gchUa9ClNRFANqftRfZSZ4/BeSZwYVuufYMJ4+SWFx+Fkd7baGpKcncIs1E6SCzymkagEefvcyLJyKQgXIJ7j4a3u1Sv9ino1C7w8e6q9K53QB56BXeeyapByMzjk+j2fOgPXACFMUAUh4JUmCLldzS4nBcOb7agbZqMgYMGJTTU5W79IxiYh/AqQVgX3uJtRzNJn+TS08PCE+ka8K4QztTj/K7sCSPOjNGhT9XueReBBaObVrjawOe2UCPeOF/8OYVz6lpHrNZyDHjLjC04MEbR4ZwvxNvWvnhwEF9qhuNAuGWrN3vGRrHtznmbLSclWmewcwqK8eZARqgqGFi0Cn5tv49rYAvvkc233ohrfE35VRYSRrKZs84PMOVporoc/BdQAjXAmUeI7/VYAR81R2Z1/cgXfLAW0hlzvnQuneYQYtOFNe0tTIYz81BhvXMlwO0ALIBtUVadgXQeSBlVLVXpjnf2DowbLZ8BJZEd0UsXfPUhWibuL0F1TROBVgPaMK4ohXNyoB34fIOIBOFoOTHH9/Uz3e654=;5:fea02rJSUzei11P6B+IJ+/Hd8J0rI5JIALF8W94nJQQpS5HTXxUrKZuMS5hgCWDSnMqp5OYUXDVsBeZAF2U/ioFjG4kQSfGQerigmq9oQrNYppZ0udHMsAPu0XCDJkakJLic4/zgpxXbMyV7pgg7mw==;24:F5A0twlYBEcBCka/6y9nDWt7ug34il+yl5Ivd+ckYIHZLSNVK8bsKRpC6hPJAx8dwMvqqhK0kinuZEv6wWXZ9qEfZDEw4U+rEZJXIb09TUQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR1201MB0010;7:ihvf+onUtmqhLCjnKyxtMP/NPvxoxy84Cz8XXTrCfphocL19y4Z65hc3+BeGsau1rfx3Rd1ySl1b5JBWi1or2K8OfycTgCqpPyPzM497+0ZKhdEwoGCwlqUcqL57Vi+svem4VN/fEem9IcRL8T+qwFlLONzYhX7zzkY+mjTRpvb/k3A3jns1I84C7e84RSPyKTXO9cGSWm84oBIgYLV3q/WNm4CYnh1uKNVq97Gwh8r+4D9RlgnxuEa/DHERZL7x2RIuPkLR/7N2sUISm9n3NdSb+Ta/1/yjUlen6wqvn7iG6qwuZodg5a++c3MnU7aaC+qpXVxmUIGava4tbI9ACg==;20:GAXwwx0d+OnT7P5vU2eZuOcaugqTyaQcVbD5vJGgue9GJy3Mn76vKtaRjuNcn+8zzyQ37OMAnWIDeFQPYScPqWdOIUq1dgc+PcmXLDwxZe+630jonMy0iAW/Mh4pkjMMYY63XHgrmrCqJx5XbFU0qRQiDAx/aRBs/AcxxyyAveGjVsEr68tUZFLhO8hGn77sxtOPVbuJFMjA+UB5lUD0eW4/XQVkeCYrM7q/5e8DTNbjnMJ9u4PQFa89iixJ7mN0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Apr 2017 17:05:58.0078 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1201MB0010 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 4/25/2017 4:44 PM, Janakarajan Natarajan wrote: > This patch prevents the value 0 from being used for the MWAITX timer. > > Newer hardware has uncovered a bug in the software implementation of > using MWAITX for the delay function. A value of 0 for the timer is meant > to indicate that a timeout will not be used to exit MWAITX. On newer > hardware this can result in MWAITX never returning, resulting in NMI > soft lockup messages being printed. On older hardware, some of the other > conditions under which MWAITX can exit masked this issue. The AMD APM > does not currently document this and will be updated. > > Please refer to http://marc.info/?l=kvm&m=148950623231140 for > information regarding NMI soft lockup messages on an AMD Ryzen 1800X. > This has been root-caused as a 0 passed to MWAITX causing it to wait > indefinitely. > > This change has the added benefit of avoiding the unnecessary setup of > MONITORX/MWAITX when the delay value is zero. > > Cc: # 4.4.x+ > > Signed-off-by: Janakarajan Natarajan I know it's late in the cycle, but is there a possibility that this will make it into 4.11? It is a trivial fix and this issue is seen by folks outside. > --- > arch/x86/lib/delay.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/arch/x86/lib/delay.c b/arch/x86/lib/delay.c > index a8e91ae..29df077 100644 > --- a/arch/x86/lib/delay.c > +++ b/arch/x86/lib/delay.c > @@ -93,6 +93,13 @@ static void delay_mwaitx(unsigned long __loops) > { > u64 start, end, delay, loops = __loops; > > + /* > + * Timer value of 0 causes MWAITX to wait indefinitely, unless there > + * is a store on the memory monitored by MONITORX. > + */ > + if (loops == 0) > + return; > + > start = rdtsc_ordered(); > > for (;;) {