From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: BUG: using smp_processor_id() in preemptible [00000000] code: pm-suspend/17334 Date: Wed, 04 Jun 2008 14:16:31 +0300 Message-ID: <4846798F.2030002@qumranet.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Thomas Gleixner , Zdenek Kabelac , linux-kernel@vger.kernel.org, kvm@vger.kernel.org To: Jiri Kosina Return-path: Received: from bzq-179-150-194.static.bezeqint.net ([212.179.150.194]:40576 "EHLO il.qumranet.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757174AbYFDLQ2 (ORCPT ); Wed, 4 Jun 2008 07:16:28 -0400 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: Jiri Kosina wrote: > On Wed, 4 Jun 2008, Thomas Gleixner wrote: > > >>> OK, so it looks like KVM could be wrongly enabling IRQs/preemption on >>> the resume path. The original bug-report is on >>> http://lkml.org/lkml/2008/4/7/130 >>> >> sysdev_resume() is supposed to run with interrupts disabled, at least >> it was that way when the timekeeping_resume code was written. >> > > True. However in Zdenek's case, interrupts/preemption gets enabled > somewhere during the resume, which correctly triggers the warning. > > We might add a check to the generic resume controller, to check after each ->resume() method and warn in case of interrupts enabled. That will pinpoint the offending driver immediately. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic.