[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] BUG: sleeping function called from invalid context
On Tue, Oct 11, 2011 at 07:13:38PM +0200, Dario Faggioli wrote: > Hello everyone, > > Since I really plan to spend some time here, let me introduce myself > first. My name is Dario Faggioli and I just joined the Citrix Platform > Team in Cambridge (although I'll be working from Italy). I've some > experience in Linux kernel (mainly scheduling) and not that much > experience in Xen or virtualization in general, but I really want to > learn and be able to contribute ASAP! > > In fact, while "doing my homework", I stumbled against the following > BUG(). I'm able to reproduce it with xen-unstable and by just by > enabling spinlock and mutex debug checks in linus' Linux > (65112dccf8a113737684366349d7f9ec373ddc47) _iff_ using 'tap:qcow2' disk > image, while no such thing happens with 'phy:'. Aha.. I saw that at some point but never narrowed it down to the right combination. Thank you for tracking this down. I am CC Daniel who might have some patches for this or ideas. > > [ 996.282544] BUG: sleeping function called from invalid context at > /local/scratch/dariof/linux/kernel/mutex.c:271 > [ 996.282570] in_atomic(): 1, irqs_disabled(): 0, pid: 3256, name: qemu-dm > [ 996.282581] 1 lock held by qemu-dm/3256: > [ 996.282589] #0: (&(&priv->lock)->rlock){......}, at: > [<ffffffff813223da>] gntdev_ioctl+0x2bd/0x4d5 > [ 996.282628] Pid: 3256, comm: qemu-dm Tainted: G W 3.1.0-rc8+ #5 > [ 996.282638] Call Trace: > [ 996.282687] [<ffffffff81054594>] __might_sleep+0x131/0x135 > [ 996.282704] [<ffffffff816bd64f>] mutex_lock_nested+0x25/0x45 > [ 996.282721] [<ffffffff8131c7c8>] free_xenballooned_pages+0x20/0xb1 > [ 996.282735] [<ffffffff8132194d>] gntdev_put_map+0xa8/0xdb > [ 996.282749] [<ffffffff816be546>] ? _raw_spin_lock+0x71/0x7a > [ 996.282763] [<ffffffff813223da>] ? gntdev_ioctl+0x2bd/0x4d5 > [ 996.282776] [<ffffffff8132243c>] gntdev_ioctl+0x31f/0x4d5 > [ 996.282790] [<ffffffff81007d62>] ? check_events+0x12/0x20 > [ 996.282804] [<ffffffff811433bc>] do_vfs_ioctl+0x488/0x4d7 > [ 996.282818] [<ffffffff81007d4f>] ? xen_restore_fl_direct_reloc+0x4/0x4 > [ 996.282832] [<ffffffff8109168b>] ? lock_release+0x21c/0x229 > [ 996.282847] [<ffffffff81135cdd>] ? rcu_read_unlock+0x21/0x32 > [ 996.282860] [<ffffffff81143452>] sys_ioctl+0x47/0x6a > [ 996.282873] [<ffffffff816bfd82>] system_call_fastpath+0x16/0x1b > > This seems to be due to free_xenballooned_pages(), called by > gntdev_put_map(), taking balloon_mutex, with the latter that can be > called within a spin_lock() (e.g., in gntdev_release()). > > I'm not enough confident with the code do attempt fixing it, but I > thought it was worth to at least point it out! _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |