From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: PV multiconsole bug during resume. Date: Thu, 24 May 2012 15:37:14 -0400 Message-ID: <20120524193714.GA29726@phenom.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xensource.com, Stefano Stabellini , Ian Campbell List-Id: xen-devel@lists.xenproject.org So .. we used to have in the event.c a spin_lock to protect the irq_mapping_update_lock, but with git commit 773659483685d652970583384a0294948e57f8b3 "xen/irq: Alter the locking to use a mutex instead of a spinlock." I changed it to a mutex b/c we keept on getting WARNs. But now I get this when I resume a PVHVM guest: Grant tables using version 2 layout. BUG: sleeping function called from invalid context at /home/konrad/ssd/linux/kernel/mutex.c:85 in_atomic(): 1, irqs_disabled(): 1, pid: 6, name: migration/0 Pid: 6, comm: migration/0 Tainted: G O 3.4.0upstream-00113-g598ff45-dirty #1 Call Trace: [] __might_sleep+0xda/0x100 [] mutex_lock+0x27/0x50 [] rebind_evtchn_irq+0x36/0x90 [] xen_console_resume+0x5c/0x60 [] xen_suspend+0x8a/0xb0 [] stop_machine_cpu_stop+0xa3/0xf0 [] ? stop_one_cpu_nowait+0x50/0x50 [] cpu_stopper_thread+0xf1/0x1c0 [] ? __schedule+0x3c6/0x760 [] ? _raw_spin_unlock_irqrestore+0x19/0x30 [] ? res_counter_charge+0x150/0x150 [] kthread+0x96/0xa0 [] kernel_thread_helper+0x4/0x10 [] ? retint_restore_args+0x5/0x6 [] ? gs_change+0x13/0x13 PM: noirq restore of devices complete after 0.163 msecs Any ideas?