From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753311AbeARBrS (ORCPT ); Wed, 17 Jan 2018 20:47:18 -0500 Received: from mx1.redhat.com ([209.132.183.28]:39672 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752778AbeARBrR (ORCPT ); Wed, 17 Jan 2018 20:47:17 -0500 Date: Thu, 18 Jan 2018 09:47:05 +0800 From: Dave Young To: Linus Torvalds Cc: Yu Chen , Thomas Gleixner , Juergen Gross , Tony Luck , Boris Ostrovsky , Borislav Petkov , Rui Zhang , Arjan van de Ven , Dan Williams , Ingo Molnar , Kexec Mailing List , Linux Kernel Mailing List , ebiederm@redhat.com, Tom Lendacky , Baoquan He Subject: Re: kexec reboot fails with extra wbinvd introduced for AME SME Message-ID: <20180118014705.GA1812@dhcp-128-65.nay.redhat.com> References: <20171213025256.GA1913@dhcp-128-65.nay.redhat.com> <20171213155746.GA29572@yu-chen.sh.intel.com> <20171214092429.GA2004@dhcp-128-65.nay.redhat.com> <20180104031537.GA1819@dhcp-128-65.nay.redhat.com> <20180117072123.GA1866@dhcp-128-65.nay.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.1 (2017-09-22) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/17/18 at 11:42am, Linus Torvalds wrote: > On Tue, Jan 16, 2018 at 11:22 PM, Dave Young wrote: > > > > For the kexec reboot hang, if I remove the wbinvd in stop_this_cpu() > > then kexec works fine. like this: > > Honestly, I think we should apply that patch regardless. > > Using 'wbinvd' should not be some "just because of random reasons". > There are CPU's with errata on wbinvd, and the thing in general is > slow and nasty. > > Doing the wbinvd in a loop sounds even stranger. > > If we're only doing it because of some SME issue, why isn't it > dependent on SME? And why is it inside that loop at all? > > Anyway, does it work for you if you just do the wbinvd() once, outside > the loop? Admittedly the loop shouldn't actually loop (hlt with > interrupts disabled), but who the hell knows.. Some of the errata > around SME have been about machine check exceptions or something. It does not work with just once wbinvd(), and it only works with removing the wbinvd() for me. Tom's new post works for me as well since my cpu is an Intel i5-4200U. > > See commit a68e5c94f7d3 ("x86, hotplug: Move WBINVD back outside the > play_dead loop") for another example where wbinvd was inside a loop > and apparently caused some odd issues. > > Linus Thanks for the help! Finally I get my laptop kexec & kdump works again after solving these issues. Thanks Dave