On Wed, Jun 06, 2007 at 12:35:14PM -0700, Siddha, Suresh B wrote: > Weird. Then the bug can only happen if for some reason, "mask = map" > didn't happen in fixup_irqs(). Can you send us the disassembly of the > fixup_irqs()? Attached. --D
(gdb) disassemble fixup_irqs Dump of assembler code for function fixup_irqs: 0xffffffff8020bf50 <fixup_irqs+0>: push %rbp 0xffffffff8020bf51 <fixup_irqs+1>: mov %rsp,%rbp 0xffffffff8020bf54 <fixup_irqs+4>: push %r13 0xffffffff8020bf56 <fixup_irqs+6>: xor %r13d,%r13d 0xffffffff8020bf59 <fixup_irqs+9>: push %r12 0xffffffff8020bf5b <fixup_irqs+11>: push %rbx 0xffffffff8020bf5c <fixup_irqs+12>: sub $0x28,%rsp 0xffffffff8020bf60 <fixup_irqs+16>: mov %rdi,0xffffffffffffffc0(%rbp) 0xffffffff8020bf64 <fixup_irqs+20>: mov %rsi,0xffffffffffffffc8(%rbp) 0xffffffff8020bf68 <fixup_irqs+24>: jmp 0xffffffff8020bf73 <fixup_irqs+35> 0xffffffff8020bf6a <fixup_irqs+26>: inc %r13d 0xffffffff8020bf6d <fixup_irqs+29>: cmp $0x2,%r13d 0xffffffff8020bf71 <fixup_irqs+33>: je 0xffffffff8020bf6a <fixup_irqs+26> 0xffffffff8020bf73 <fixup_irqs+35>: mov %r13d,%r12d 0xffffffff8020bf76 <fixup_irqs+38>: lea 0xffffffffffffffd0(%rbp),%rbx 0xffffffff8020bf7a <fixup_irqs+42>: lea 0xffffffffffffffc0(%rbp),%rdx 0xffffffff8020bf7e <fixup_irqs+46>: shl $0x8,%r12 0xffffffff8020bf82 <fixup_irqs+50>: mov $0x80,%ecx 0xffffffff8020bf87 <fixup_irqs+55>: lea 0xffffffff805505f8(%r12),%rsi 0xffffffff8020bf8f <fixup_irqs+63>: mov %rbx,%rdi 0xffffffff8020bf92 <fixup_irqs+66>: callq 0xffffffff802fb606 <__bitmap_and> 0xffffffff8020bf97 <fixup_irqs+71>: mov %rbx,%rdi 0xffffffff8020bf9a <fixup_irqs+74>: callq 0xffffffff802fc6ad <__any_online_cpu> 0xffffffff8020bf9f <fixup_irqs+79>: add $0xffffffffffffff80,%eax 0xffffffff8020bfa2 <fixup_irqs+82>: jne 0xffffffff8020bfc5 <fixup_irqs+117> 0xffffffff8020bfa4 <fixup_irqs+84>: mov %r13d,%esi 0xffffffff8020bfa7 <fixup_irqs+87>: mov $0xffffffff804a52b0,%rdi 0xffffffff8020bfae <fixup_irqs+94>: xor %eax,%eax 0xffffffff8020bfb0 <fixup_irqs+96>: callq 0xffffffff80233d28 <printk> 0xffffffff8020bfb5 <fixup_irqs+101>: mov 0xffffffffffffffc0(%rbp),%rax 0xffffffff8020bfb9 <fixup_irqs+105>: mov %rax,0xffffffffffffffd0(%rbp) 0xffffffff8020bfbd <fixup_irqs+109>: mov 0xffffffffffffffc8(%rbp),%rax 0xffffffff8020bfc1 <fixup_irqs+113>: mov %rax,0xffffffffffffffd8(%rbp) 0xffffffff8020bfc5 <fixup_irqs+117>: mov 0xffffffff80550588(%r12),%rax 0xffffffff8020bfcd <fixup_irqs+125>: mov 0x58(%rax),%rax 0xffffffff8020bfd1 <fixup_irqs+129>: test %rax,%rax 0xffffffff8020bfd4 <fixup_irqs+132>: je 0xffffffff8020bfe5 <fixup_irqs+149> 0xffffffff8020bfd6 <fixup_irqs+134>: mov 0xffffffffffffffd0(%rbp),%rsi 0xffffffff8020bfda <fixup_irqs+138>: mov 0xffffffffffffffd8(%rbp),%rdx 0xffffffff8020bfde <fixup_irqs+142>: mov %r13d,%edi 0xffffffff8020bfe1 <fixup_irqs+145>: callq *%rax 0xffffffff8020bfe3 <fixup_irqs+147>: jmp 0xffffffff8020c013 <fixup_irqs+195> 0xffffffff8020bfe5 <fixup_irqs+149>: cmpq $0x0,0xffffffff805505a8(%r12) 0xffffffff8020bfee <fixup_irqs+158>: je 0xffffffff8020c013 <fixup_irqs+195> 0xffffffff8020bff0 <fixup_irqs+160>: mov 5181486(%rip),%eax # 0xffffffff806fd024 <warned.11720> 0xffffffff8020bff6 <fixup_irqs+166>: inc %eax 0xffffffff8020bff8 <fixup_irqs+168>: mov %eax,5181478(%rip) # 0xffffffff806fd024 <warned.11720> 0xffffffff8020bffe <fixup_irqs+174>: dec %eax 0xffffffff8020c000 <fixup_irqs+176>: jne 0xffffffff8020c013 <fixup_irqs+195> 0xffffffff8020c002 <fixup_irqs+178>: mov %r13d,%esi 0xffffffff8020c005 <fixup_irqs+181>: mov $0xffffffff804a52ce,%rdi 0xffffffff8020c00c <fixup_irqs+188>: xor %eax,%eax 0xffffffff8020c00e <fixup_irqs+190>: callq 0xffffffff80233d28 <printk> 0xffffffff8020c013 <fixup_irqs+195>: lea 0x1(%r13),%eax 0xffffffff8020c017 <fixup_irqs+199>: cmp $0x10ff,%eax 0xffffffff8020c01c <fixup_irqs+204>: jbe 0xffffffff8020bf6a <fixup_irqs+26> 0xffffffff8020c022 <fixup_irqs+210>: callq 0xffffffff8024e46e <trace_hardirqs_on> 0xffffffff8020c027 <fixup_irqs+215>: sti 0xffffffff8020c028 <fixup_irqs+216>: mov $0x418958,%edi 0xffffffff8020c02d <fixup_irqs+221>: callq 0xffffffff803018cf <__const_udelay> 0xffffffff8020c032 <fixup_irqs+226>: cli 0xffffffff8020c033 <fixup_irqs+227>: callq 0xffffffff8024cf31 <trace_hardirqs_off> 0xffffffff8020c038 <fixup_irqs+232>: add $0x28,%rsp 0xffffffff8020c03c <fixup_irqs+236>: pop %rbx 0xffffffff8020c03d <fixup_irqs+237>: pop %r12 0xffffffff8020c03f <fixup_irqs+239>: pop %r13 0xffffffff8020c041 <fixup_irqs+241>: leaveq 0xffffffff8020c042 <fixup_irqs+242>: retq
Attachment:
signature.asc
Description: Digital signature
- Follow-Ups:
- Re: Device hang when offlining a CPU due to IRQ misrouting
- From: "Siddha, Suresh B" <[email protected]>
- Re: Device hang when offlining a CPU due to IRQ misrouting
- References:
- Re: Device hang when offlining a CPU due to IRQ misrouting
- From: "Darrick J. Wong" <[email protected]>
- Re: Device hang when offlining a CPU due to IRQ misrouting
- From: "Siddha, Suresh B" <[email protected]>
- Re: Device hang when offlining a CPU due to IRQ misrouting
- From: "Darrick J. Wong" <[email protected]>
- Re: Device hang when offlining a CPU due to IRQ misrouting
- From: "Siddha, Suresh B" <[email protected]>
- Re: Device hang when offlining a CPU due to IRQ misrouting
- From: "Darrick J. Wong" <[email protected]>
- Re: Device hang when offlining a CPU due to IRQ misrouting
- From: "Siddha, Suresh B" <[email protected]>
- Re: Device hang when offlining a CPU due to IRQ misrouting
- From: "Darrick J. Wong" <[email protected]>
- Re: Device hang when offlining a CPU due to IRQ misrouting
- From: "Siddha, Suresh B" <[email protected]>
- Re: Device hang when offlining a CPU due to IRQ misrouting
- From: "Darrick J. Wong" <[email protected]>
- Re: Device hang when offlining a CPU due to IRQ misrouting
- From: "Siddha, Suresh B" <[email protected]>
- Re: Device hang when offlining a CPU due to IRQ misrouting
- Prev by Date: Re: [BUG] Fwd: segfault : modprobe dccp_probe/tcp_probe
- Next by Date: Re: [patch 7/8] fdmap v2 - implement sys_socket2
- Previous by thread: Re: Device hang when offlining a CPU due to IRQ misrouting
- Next by thread: Re: Device hang when offlining a CPU due to IRQ misrouting
- Index(es):