SMP DOM0 is broken on x86_64

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

SMP DOM0 is broken on x86_64

Kamble, Nitin A
It was with the changeset 7380: f9b300fab36e

The per_cpu data access is causing the problematic page fault.

void local_setup_timer(unsigned int cpu)
{
        int seq;

        BUG_ON(cpu == 0);

        do {
                seq = read_seqbegin(&xtime_lock);
                per_cpu(processed_system_time, cpu) =
                        per_cpu(shadow_time, cpu).system_timestamp;
        } while (read_seqretry(&xtime_lock, seq));



CPU: Physical Processor ID: 0
                   Genuine Intel(R) CPU 3.80GHz stepping 06
Unable to handle kernel paging request at 0000003fa814a688 RIP:
<ffffffff8011a31a>{local_setup_timer+74}
PGD 0
Oops: 0000 [1] SMP
CPU 1
Modules linked in:
Pid: 0, comm: swapper Not tainted 2.6.12-xen0
RIP: e030:[<ffffffff8011a31a>] <ffffffff8011a31a>{local_setup_timer+74}
RSP: e02b:ffff880075135f20  EFLAGS: 00010206
RAX: ffffffff80665440 RBX: 0000000000000000 RCX: 00000000000000c6
RDX: 00000000000000c6 RSI: ffffffff80665428 RDI: ffffffff804f68c0
RBP: 0000004027b46000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000010 R12: 0000000000000000
R13: 00000000804f68c0 R14: 00000000804f68c0 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffffffff80604700(0000) knlGS:0000000000000000
CS:  e033 DS: 002b ES: 002b
Process swapper (pid: 0, threadinfo ffff880075134000, task ffff88007512edb0)
Stack: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
       0000000000000000 ffffffff806238b3 0000000000000000 0000000000000000
       0000000000000000 0000000000000000
Call Trace:<ffffffff806238b3>{start_secondary+19}

Code: 48 8b 95 88 46 60 80 48 8b 44 02 08 48 89 04 16 0f ae e8 8b
RIP <ffffffff8011a31a>{local_setup_timer+74} RSP <ffff880075135f20>
CR2: 0000003fa814a688
 <0>Kernel panic - not syncing: Attempted to kill the idle task!
 <1>Unable to handle kernel NULL pointer dereference at 0000000000000408 RIP:
<ffffffff80147302>{queue_work+34}
PGD 0
Oops: 0000 [2] SMP
CPU 0
Modules linked in:
Pid: 1, comm: swapper Not tainted 2.6.12-xen0
RIP: e030:[<ffffffff80147302>] <ffffffff80147302>{queue_work+34}
RSP: e02b:ffff8800751028e8  EFLAGS: 00010246
RAX: 0000000000000408 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff80512460 RDI: 0000000000000000
RBP: 0000000000000100 R08: 0000000000000001 R09: 0000000000000018
R10: 0000000000007ff0 R11: 0000000000000246 R12: ffff8800029b0f60
R13: ffffffff80271510 R14: ffff8800751028f8 R15: 000000000000000a
FS:  0000000000000000(0000) GS:ffffffff80604680(0000) knlGS:0000000000000000
CS:  e033 DS: 0000 ES: 0000
Process swapper (pid: 1, threadinfo ffff880075102000, task ffff880075101410)
Stack: 0000000000000000 ffffffff8013f486 ffff8800751028f8 ffff8800751028f8
       0000000000000001 ffffffff80605c90 ffffffff80605c90 0000000000000000
       ffffffff8066a080 ffffffff8013ae00
Call Trace:<ffffffff8013f486>{run_timer_softirq+390} <ffffffff8013ae00>{__do_so}
       <ffffffff8013aeec>{do_softirq+76} <ffffffff80115c99>{do_IRQ+57}
       <ffffffff8010dced>{evtchn_do_upcall+141} <ffffffff80112bad>{do_hyperviso}
       <ffffffff8062379a>{__cpu_up+1066} <ffffffff80623739>{__cpu_up+969}
       <ffffffff801130a8>{divide_error+0} <ffffffff80112f58>{debug+0}
       <ffffffff80112f74>{int3+0} <ffffffff80112f90>{overflow+0}
       <ffffffff80112fac>{bounds+0} <ffffffff80112fc8>{invalid_op+0}
       <ffffffff80112f3c>{device_not_available+0} <ffffffff80112fe4>{coprocesso}
       <ffffffff8011301c>{invalid_TSS+0} <ffffffff80113038>{segment_not_present}
       <ffffffff80113054>{stack_segment+0} <ffffffff80113070>{general_protectio}
       <ffffffff80112e94>{page_fault+0} <ffffffff801130c4>{spurious_interrupt_b}
       <ffffffff80112f04>{coprocessor_error+0} <ffffffff8011308c>{alignment_che}
       <ffffffff80112f20>{simd_coprocessor_error+0} <ffffffff801221d0>{ia32_sys}
       <ffffffff80112b80>{hypervisor_callback+0} <ffffffff80112c68>{failsafe_ca}
       <ffffffff8011223c>{system_call+0} <ffffffff8014f736>{cpu_up+150}
       <ffffffff8010d14b>{init+251} <ffffffff80112dbf>{child_rip+8}
       <ffffffff8010d050>{init+0} <ffffffff80112db7>{child_rip+0}


Code: 48 3b 87 08 04 00 00 48 63 d2 48 8d 46 08 48 0f 45 ca 48 3b
RIP <ffffffff80147302>{queue_work+34} RSP <ffff8800751028e8>
CR2: 0000000000000408
 <0>Kernel panic - not syncing: Aiee, killing interrupt handler!
 stop_this_cpu disable_local_APIC


Thanks & Regards,
Nitin
-----------------------------------------------------------------------------------
Open Source Technology Center, Intel Corp


_______________________________________________
Xen-devel mailing list
[hidden email]
http://lists.xensource.com/xen-devel
Reply | Threaded
Open this post in threaded view
|

RE: SMP DOM0 is broken on x86_64

Kamble, Nitin A
BTW x86_64 SMP dom0 was working yesterday with revision
changeset:   7391:92c6021f23e4bb7fe1254f21d6a24d07d62f0e54

Thanks & Regards,
Nitin
-----------------------------------------------------------------------------------
Open Source Technology Center, Intel Corp

>-----Original Message-----
>From: Kamble, Nitin A
>Sent: Friday, October 14, 2005 5:31 PM
>To: xen-devel
>Cc: Keir Fraser; Ian Pratt
>Subject: SMP DOM0 is broken on x86_64
>
>It was with the changeset 7380: f9b300fab36e
>
>The per_cpu data access is causing the problematic page fault.
>
>void local_setup_timer(unsigned int cpu)
>{
>        int seq;
>
>        BUG_ON(cpu == 0);
>
>        do {
>                seq = read_seqbegin(&xtime_lock);
>                per_cpu(processed_system_time, cpu) =
>                        per_cpu(shadow_time, cpu).system_timestamp;
>        } while (read_seqretry(&xtime_lock, seq));
>
>
>
>CPU: Physical Processor ID: 0
>                   Genuine Intel(R) CPU 3.80GHz stepping 06
>Unable to handle kernel paging request at 0000003fa814a688 RIP:
><ffffffff8011a31a>{local_setup_timer+74}
>PGD 0
>Oops: 0000 [1] SMP
>CPU 1
>Modules linked in:
>Pid: 0, comm: swapper Not tainted 2.6.12-xen0
>RIP: e030:[<ffffffff8011a31a>] <ffffffff8011a31a>{local_setup_timer+74}
>RSP: e02b:ffff880075135f20  EFLAGS: 00010206
>RAX: ffffffff80665440 RBX: 0000000000000000 RCX: 00000000000000c6
>RDX: 00000000000000c6 RSI: ffffffff80665428 RDI: ffffffff804f68c0
>RBP: 0000004027b46000 R08: 0000000000000000 R09: 0000000000000000
>R10: 0000000000000001 R11: 0000000000000010 R12: 0000000000000000
>R13: 00000000804f68c0 R14: 00000000804f68c0 R15: 0000000000000000
>FS:  0000000000000000(0000) GS:ffffffff80604700(0000)
>knlGS:0000000000000000
>CS:  e033 DS: 002b ES: 002b
>Process swapper (pid: 0, threadinfo ffff880075134000, task
>ffff88007512edb0)
>Stack: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
>       0000000000000000 ffffffff806238b3 0000000000000000 0000000000000000
>       0000000000000000 0000000000000000
>Call Trace:<ffffffff806238b3>{start_secondary+19}
>
>Code: 48 8b 95 88 46 60 80 48 8b 44 02 08 48 89 04 16 0f ae e8 8b
>RIP <ffffffff8011a31a>{local_setup_timer+74} RSP <ffff880075135f20>
>CR2: 0000003fa814a688
> <0>Kernel panic - not syncing: Attempted to kill the idle task!
> <1>Unable to handle kernel NULL pointer dereference at 0000000000000408
>RIP:
><ffffffff80147302>{queue_work+34}
>PGD 0
>Oops: 0000 [2] SMP
>CPU 0
>Modules linked in:
>Pid: 1, comm: swapper Not tainted 2.6.12-xen0
>RIP: e030:[<ffffffff80147302>] <ffffffff80147302>{queue_work+34}
>RSP: e02b:ffff8800751028e8  EFLAGS: 00010246
>RAX: 0000000000000408 RBX: 0000000000000000 RCX: 0000000000000000
>RDX: 0000000000000000 RSI: ffffffff80512460 RDI: 0000000000000000
>RBP: 0000000000000100 R08: 0000000000000001 R09: 0000000000000018
>R10: 0000000000007ff0 R11: 0000000000000246 R12: ffff8800029b0f60
>R13: ffffffff80271510 R14: ffff8800751028f8 R15: 000000000000000a
>FS:  0000000000000000(0000) GS:ffffffff80604680(0000)
>knlGS:0000000000000000
>CS:  e033 DS: 0000 ES: 0000
>Process swapper (pid: 1, threadinfo ffff880075102000, task
>ffff880075101410)
>Stack: 0000000000000000 ffffffff8013f486 ffff8800751028f8 ffff8800751028f8
>       0000000000000001 ffffffff80605c90 ffffffff80605c90 0000000000000000
>       ffffffff8066a080 ffffffff8013ae00
>Call Trace:<ffffffff8013f486>{run_timer_softirq+390}
><ffffffff8013ae00>{__do_so}
>       <ffffffff8013aeec>{do_softirq+76} <ffffffff80115c99>{do_IRQ+57}
>       <ffffffff8010dced>{evtchn_do_upcall+141}
><ffffffff80112bad>{do_hyperviso}
>       <ffffffff8062379a>{__cpu_up+1066} <ffffffff80623739>{__cpu_up+969}
>       <ffffffff801130a8>{divide_error+0} <ffffffff80112f58>{debug+0}
>       <ffffffff80112f74>{int3+0} <ffffffff80112f90>{overflow+0}
>       <ffffffff80112fac>{bounds+0} <ffffffff80112fc8>{invalid_op+0}
>       <ffffffff80112f3c>{device_not_available+0}
><ffffffff80112fe4>{coprocesso}
>       <ffffffff8011301c>{invalid_TSS+0}
><ffffffff80113038>{segment_not_present}
>       <ffffffff80113054>{stack_segment+0}
><ffffffff80113070>{general_protectio}
>       <ffffffff80112e94>{page_fault+0}
><ffffffff801130c4>{spurious_interrupt_b}
>       <ffffffff80112f04>{coprocessor_error+0}
><ffffffff8011308c>{alignment_che}
>       <ffffffff80112f20>{simd_coprocessor_error+0}
><ffffffff801221d0>{ia32_sys}
>       <ffffffff80112b80>{hypervisor_callback+0}
><ffffffff80112c68>{failsafe_ca}
>       <ffffffff8011223c>{system_call+0} <ffffffff8014f736>{cpu_up+150}
>       <ffffffff8010d14b>{init+251} <ffffffff80112dbf>{child_rip+8}
>       <ffffffff8010d050>{init+0} <ffffffff80112db7>{child_rip+0}
>
>
>Code: 48 3b 87 08 04 00 00 48 63 d2 48 8d 46 08 48 0f 45 ca 48 3b
>RIP <ffffffff80147302>{queue_work+34} RSP <ffff8800751028e8>
>CR2: 0000000000000408
> <0>Kernel panic - not syncing: Aiee, killing interrupt handler!
> stop_this_cpu disable_local_APIC
>
>
>Thanks & Regards,
>Nitin
>---------------------------------------------------------------------------
>--------
>Open Source Technology Center, Intel Corp


_______________________________________________
Xen-devel mailing list
[hidden email]
http://lists.xensource.com/xen-devel