From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [patch] KVM: T60 resume fix Date: Mon, 05 Mar 2007 10:50:04 +0200 Message-ID: <45EBD9BC.4030801@qumranet.com> References: <20070227111515.GA4271@kernel.dk> <20070301093450.GA8508@elte.hu> <20070301104117.GA22788@elte.hu> <20070301145204.GA25304@elte.hu> <20070302072100.GB30634@elte.hu> <20070302080441.GA12785@elte.hu> <20070302102018.GA11549@elte.hu> <20070302102216.GA13575@elte.hu> <45E93012.4000100@qumranet.com> <20070305082251.GA23366@elte.hu> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <20070305082251.GA23366@elte.hu> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-pm-bounces@lists.osdl.org Errors-To: linux-pm-bounces@lists.osdl.org To: Ingo Molnar Cc: Daniel Walker , Michal Piotrowski , linux-pm@lists.osdl.org, Linux Kernel Mailing List , Adrian Bunk , Pavel Machek , Jens Axboe , "Michael S. Tsirkin" , Thomas Gleixner , Linus Torvalds , Andrew Morton List-Id: linux-pm@vger.kernel.org Ingo Molnar wrote: > * Avi Kivity wrote: > > = >>> my T60 laptop does not resume correctly due to KVM attempting to = >>> send an IPI to a CPU that might be down (or not up yet). (Doing so = >>> also triggers the send_IPI_mask_bitmask() warning in = >>> arch/i386/kernel/smp.c, line 732.) >>> >>> with this fix applied my laptop does not hang during resume. >>> >>> [ KVM will have to disable/enable virtualization on the CPU itself = >>> that goes down / comes up, not via an IPI sent from the requesting >>> CPU. ] >>> = > > = >> That is already CPU_ONLINE in my tree (and in the pull request sent to = >> Linus a couple of days ago). >> = > > that solves the resume problem - but doesnt solve the CPU_DEAD issue of = > sending an IPI to an already offline CPU. Might be a better idea to do = > it in CPU_DOWN_PREPARE? (and then to also add a CPU_DOWN_FAILED branch?) > > = Mainline now has DOWN_PREPARE and UP_CANCELED calling = ->hardware_disable(), and ONLINE calling ->hardware_enabled(). What = tree are you looking at? [but I do see the need for DOWN_FAILED now. Off to find a resumable = machine...] -- = Do not meddle in the internals of kernels, for they are subtle and quick to= panic.