WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

Re: [Xen-users] rebased opensuse 2.6.31 xen patches

To: Andrew Lyon <andrew.lyon@xxxxxxxxx>
Subject: Re: [Xen-users] rebased opensuse 2.6.31 xen patches
From: Boris Derzhavets <bderzhavets@xxxxxxxxx>
Date: Sat, 24 Oct 2009 05:06:42 -0700 (PDT)
Cc: xen-users List <xen-users@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Sat, 24 Oct 2009 05:08:12 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1256386003; bh=gYWXdPuU4AGoSeo5gdD/leFvKu7D71NPVulAEoUdhjw=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:Cc:MIME-Version:Content-Type; b=tmZmF1n9Hh9spFGkKd2zkHtdp4Qyeqeg9EZnbHr2yBJFEQ9vKjf8F3YeHRDc2x1CvhZABWR2AT8xpAaHJbg5e0nwInCXea8cZfl8yACQAQ531z8IYiD1RyjtwT580eVh0xgc5PAcvGoHukDInJZ8FDwcPJlYrIDghETRIncC/TA=
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:Cc:MIME-Version:Content-Type; b=SeL4tk2+UZLjL2k8Pl2krQ6fp920Xl2w/YeIfCGNJbpNX/KxJrhF7OVD9ul/LwSUuVP57TTEigChgpOB8+tdxONvCwacGzti7QuBds4C5U3Ca1vS8TO6UPLKy5HdP1YakUpMuWLe38HgE8Ufwji4/9FvVS5TxzvWWfXA1R6rGxM=;
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
CONFIG_NR_CPUS=16

[ 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: [<ffffffff810416b8>] dup_mm+0xc4/0x396
 #1:  (&mm->mmap_sem/1){+.+.+.}, at: [<ffffffff810416cd>] dup_mm+0xd9/0x396
 #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:
 [<ffffffff8107269d>] __lock_acquire+0xb7d/0xc07
 [<ffffffff8107281b>] lock_acquire+0xf4/0x152
 [<ffffffff81025090>] ? _pin_lock+0xb0/0x124
 [<ffffffff81025090>] ? _pin_lock+0xb0/0x124
 [<ffffffff814bb18b>] _spin_lock+0x45/0x8e
 [<ffffffff81025090>] ? _pin_lock+0xb0/0x124
 [<ffffffff81025090>] _pin_lock+0xb0/0x124
 [<ffffffff81025924>] mm_pin+0x33/0x61
 [<ffffffff8102599f>] arch_dup_mmap+0x4d/0x6a
 [<ffffffff810418cd>] dup_mm+0x2d9/0x396
 [<ffffffff81042593>] copy_process+0xba2/0x13be
 [<ffffffff81042f22>] do_fork+0x173/0x335
 [<ffffffff8110ab41>] ? do_vfs_ioctl+0x4aa/0x506
 [<ffffffff8100a353>] ? sysret_check+0x41/0xc0
 [<ffffffff81008358>] sys_clone+0x3b/0x51
 [<ffffffff814ba785>] ? 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: "Boris Derzhavets" <bderzhavets@xxxxxxxxx>
Cc: "xen-users List" <xen-users@xxxxxxxxxxxxxxxxxxx>
Date: Friday, October 23, 2009, 2:39 PM



On Fri, Oct 23, 2009 at 5:05 PM, Boris Derzhavets <bderzhavets@xxxxxxxxx> wrote:
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


Can you test with CONFIG_NR_CPUS set to less than 256?

The code in spinlock.h is assembly and I'm not very familiar with that, before I spend a lot of time looking into this I'd like to know if the bug is specific to the codepath for > 256 cpus.

Thanks
Andy

Andy

Attachment: dmesg.log.gz
Description: GNU Zip compressed data

Attachment: config.xen.gz
Description: GNU Zip compressed data

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users