[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] rebased opensuse 2.6.31 xen patches
Hmm, that's pretty much impossible unless either of two assumptions doesn't hold: Processes don't share (leaf) page table pages, and within a process any (leaf) page table page can be used only in exactly one place. Unless that's wrong, _pin_lock() guarantees that each lock gets acquired exactly once. Since the locks' addresses aren't being printed, it's hard to judge whether what you got is an indication of a real problem. Otoh, if there was such a problem, I'd expect quite a few people would already have reported deadlocks... So, did the machine indeed hang after printing those messages? Jan >>> Boris Derzhavets <bderzhavets@xxxxxxxxx> 23.10.09 18:05 >>> Dmesg log attached ============================================= [ INFO: possible recursive locking detected ] 2.6.31.4 #1 --------------------------------------------- init/1 is trying to acquire lock: (__pte_lockptr(page)){+.+...}, at: [<ffffffff81025090>] _pin_lock+0xb0/0x124 but task is already holding lock: (__pte_lockptr(page)){+.+...}, at: [<ffffffff81025090>] _pin_lock+0xb0/0x124 other info that might help us debug this: 4 locks held by init/1: #0: (&mm->mmap_sem){++++++}, at: [<ffffffff8104193f>] dup_mm+0xc7/0x3a2 #1: (&mm->mmap_sem/1){+.+.+.}, at: [<ffffffff81041954>] dup_mm+0xdc/0x3a2 #2: (&mm->page_table_lock){+.+...}, at: [<ffffffff8102501b>] _pin_lock+0x3b/0x124 #3: (__pte_lockptr(page)){+.+...}, at: [<ffffffff81025090>] _pin_lock+0xb0/0x124 stack backtrace: Pid: 1, comm: init Not tainted 2.6.31.4 #1 Call Trace: [<ffffffff81072a6d>] __lock_acquire+0xb70/0xbfa [<ffffffff81072beb>] lock_acquire+0xf4/0x152 [<ffffffff81025090>] ? _pin_lock+0xb0/0x124 [<ffffffff81025090>] ? _pin_lock+0xb0/0x124 [<ffffffff814bc8bb>] _spin_lock+0x45/0x8e [<ffffffff81025090>] ? _pin_lock+0xb0/0x124 [<ffffffff81025090>] _pin_lock+0xb0/0x124 [<ffffffff81025928>] mm_pin+0x33/0x61 [<ffffffff810259a3>] arch_dup_mmap+0x4d/0x6a [<ffffffff81041b5d>] dup_mm+0x2e5/0x3a2 [<ffffffff81042823>] copy_process+0xba2/0x13c5 [<ffffffff810431b9>] do_fork+0x173/0x335 [<ffffffff8110b3a9>] ? do_vfs_ioctl+0x4aa/0x506 [<ffffffff8100a353>] ? sysret_check+0x41/0xc0 [<ffffffff81008358>] sys_clone+0x3b/0x51 [<ffffffff814bbebb>] ? trace_hardirqs_on_thunk+0x3a/0x3f [<ffffffff8100a7b3>] stub_clone+0x13/0x20 [<ffffffff8100a308>] ? system_call_fastpath+0x16/0x1b Boris --- On Fri, 10/23/09, Andrew Lyon <andrew.lyon@xxxxxxxxx> wrote: From: Andrew Lyon <andrew.lyon@xxxxxxxxx> Subject: Re: [Xen-users] rebased opensuse 2.6.31 xen patches To: "Marco Nenciarini" <mnencia@xxxxxxxxxxxxxx>, "Jan Beulich" <jbeulich@xxxxxxxxxx>, "xen-users List" <xen-users@xxxxxxxxxxxxxxxxxxx> Date: Friday, October 23, 2009, 7:28 AM On Fri, Oct 23, 2009 at 12:03 PM, Marco Nenciarini <mnencia@xxxxxxxxxxxxxx> wrote: > Andrew Lyon ha scritto: >> >> On Fri, Oct 23, 2009 at 11:27 AM, Marco Nenciarini >> >> Thanks, does this fix a problem you have encountered? If so I would >> like to see an example of the oops or warning you receive due to this >> error. >> >> Andy > > Without that patch it does not compile at all. > > > scripts/kconfig/conf -s arch/x86/Kconfig > Using > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen > as source for kernel > GEN > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/build_amd64_xen_amd64/Makefile > CHK include/linux/version.h > UPD include/linux/version.h > CHK include/linux/utsrelease.h > UPD include/linux/utsrelease.h > SYMLINK include/asm -> include/asm-x86 > Updating > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/build_amd64_xen_amd64/scripts/Makefile.xen > CC kernel/bounds.s > GEN include/linux/bounds.h > CC arch/x86/kernel/asm-offsets.s > In file included from > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/include/linux/spinlock.h:88, > from > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/include/linux/seqlock.h:29, > from > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/include/linux/time.h:8, > from > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/include/linux/stat.h:60, > from > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/include/linux/module.h:10, > from > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/include/linux/crypto.h:21, > from > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/arch/x86/kernel/asm-offsets_64.c:7, > from > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/arch/x86/kernel/asm-offsets.c:4: > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/arch/x86/include/mach-xen/asm/spinlock.h:134: > error: expected identifier or â(â before â:â token > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/arch/x86/include/mach-xen/asm/spinlock.h:138: > error: expected identifier or â(â before â}â token > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/arch/x86/include/mach-xen/asm/spinlock.h:138: > error: expected identifier or â(â before âwhileâ > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/arch/x86/include/mach-xen/asm/spinlock.h: > In function â__ticket_spin_lockâ: > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/arch/x86/include/mach-xen/asm/spinlock.h:217: > error: expected â:â or â)â before â;â token > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/arch/x86/include/mach-xen/asm/spinlock.h:217: > warning: unused variable âtmpâ > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/arch/x86/include/mach-xen/asm/spinlock.h:227: > error: expected âwhileâ before âstaticâ > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/arch/x86/kernel/asm-offsets.c:5: > error: expected declaration or statement at end of input > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/arch/x86/include/mach-xen/asm/spinlock.h:215: > warning: unused variable âfreeâ > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/arch/x86/include/mach-xen/asm/spinlock.h:214: > warning: unused variable âcountâ > /home/mnencia/deb/kernel/lab/linux-2.6-2.6.31/debian/build/source_amd64_xen/arch/x86/include/mach-xen/asm/spinlock.h:214: > warning: unused variable âtokenâ > make[5]: *** [arch/x86/kernel/asm-offsets.s] Error 1 > make[4]: *** [prepare0] Error 2 > > Marco > > -- > --------------------------------------------------------------------- > | Marco Nenciarini | Debian/GNU Linux Developer - Plug Member | > | mnencia@xxxxxxxxxxxxxx | http://www.prato.linux.it/~mnencia | > --------------------------------------------------------------------- > Key fingerprint = FED9 69C7 9E67 21F5 7D95 5270 6864 730D F095 E5E4 > > Weird, I can compile both 32 and 64 bit domU and dom0 without any errors like that, looking at the code I'd expect to hit that error straight away. I've CC'ed Jan and attached your patch to this message, he may want to merge this upstream (or point out that I'm wrong again). Andy -----Inline Attachment Follows----- _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |