Re: 2.6.27.5 guest boot failure using in-kernel PIT

2008-11-24 Thread Glauber Costa
On Fri, Nov 21, 2008 at 3:10 PM, Marcelo Tosatti <[EMAIL PROTECTED]> wrote:
> Hi Jan,
>
> On Fri, Nov 21, 2008 at 08:54:56AM +0100, Jan Kiszka wrote:
>> Eduardo Habkost wrote:
>> > On Thu, Nov 20, 2008 at 12:22:53PM -0200, Eduardo Habkost wrote:
>> >> Hi,
>> >>
>> >> When using a kvm.git kernel as host, I am getting guest boot failures
>> >> when booting Fedora Rawhide kernel (2.6.27.5-117.fc10.x86_64). Guest
>> >> stops booting at:
>> >>
>> >> ENABLING IO-APIC IRQs
>> >> ..TIMER: vector=0x30 apic1=0 pin1=0 apic2=-1 pin2=-1
>> >> ..MP-BIOS bug: 8254 timer not connected to IO-APIC
>> >> ...trying to set up timer (IRQ0) through the 8259A ...
>> >> . (found apic 0 pin 0) ...
>> >> ... failed.
>> >> ...trying to set up timer as Virtual Wire IRQ...
>> >> . failed.
>> >> ...trying to set up timer as ExtINT IRQ...
>> >
>> > I've just found out this problem happens because the guest has HZ=1000
>> > and the host had HZ=250 and no CONFIG_HIGH_RES_TIMERS.
>> >
>> > With this setup, the host is not managing to inject enough timer
>> > interrupts during the mdelay() loop on timer_irq_works().
>> >
>>
>> Interesting, and plausible.
>>
>> My observation so far is a sporadic test failure, often correlating with
>> some raised host OS load. I'm running a high-res kernel, but that cannot
>> prevent that this only 10 ticks long loop of the guest may obtain too
>> few CPU cycles to handle enough of them once in a while (IIRC, it needs
>> 4 out of the 10 ticks to declare the timer routing functional).
>
> Using in-kernel PIT?
>
> This is a potential problem which can be worked around by disabling the
> whole thing either via no_timer_check or paravirt equivalent (Glauber?)
> but for the non-paravirt case it seems its not the culprit. Possible
> failure scenarios:

For KVM_CLOCK case, I believe there's absolutely no reason to be more
complicated than than that:

+extern int no_timer_check;
+
 void __init kvmclock_init(void)
 {
if (!kvm_para_available())
@@ -178,6 +180,8 @@ void __init kvmclock_init(void)
if (kvmclock && kvm_para_has_feature(KVM_FEATURE_CLOCKSOURCE)) {
if (kvm_register_clock("boot clock"))
return;
+
+   no_timer_check = 1; 
pv_time_ops.get_wallclock = kvm_get_wallclock;
pv_time_ops.set_wallclock = kvm_set_wallclock;
pv_time_ops.sched_clock = kvm_clock_read;
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: 2.6.27.5 guest boot failure using in-kernel PIT

2008-11-21 Thread Marcelo Tosatti
Hi Jan,

On Fri, Nov 21, 2008 at 08:54:56AM +0100, Jan Kiszka wrote:
> Eduardo Habkost wrote:
> > On Thu, Nov 20, 2008 at 12:22:53PM -0200, Eduardo Habkost wrote:
> >> Hi,
> >>
> >> When using a kvm.git kernel as host, I am getting guest boot failures
> >> when booting Fedora Rawhide kernel (2.6.27.5-117.fc10.x86_64). Guest
> >> stops booting at:
> >>
> >> ENABLING IO-APIC IRQs
> >> ..TIMER: vector=0x30 apic1=0 pin1=0 apic2=-1 pin2=-1
> >> ..MP-BIOS bug: 8254 timer not connected to IO-APIC
> >> ...trying to set up timer (IRQ0) through the 8259A ...
> >> . (found apic 0 pin 0) ...
> >> ... failed.
> >> ...trying to set up timer as Virtual Wire IRQ...
> >> . failed.
> >> ...trying to set up timer as ExtINT IRQ...
> > 
> > I've just found out this problem happens because the guest has HZ=1000
> > and the host had HZ=250 and no CONFIG_HIGH_RES_TIMERS.
> > 
> > With this setup, the host is not managing to inject enough timer
> > interrupts during the mdelay() loop on timer_irq_works().
> > 
> 
> Interesting, and plausible.
> 
> My observation so far is a sporadic test failure, often correlating with
> some raised host OS load. I'm running a high-res kernel, but that cannot
> prevent that this only 10 ticks long loop of the guest may obtain too
> few CPU cycles to handle enough of them once in a while (IIRC, it needs
> 4 out of the 10 ticks to declare the timer routing functional).

Using in-kernel PIT?

This is a potential problem which can be worked around by disabling the
whole thing either via no_timer_check or paravirt equivalent (Glauber?)
but for the non-paravirt case it seems its not the culprit. Possible
failure scenarios:

1) lpj miscalibration (SMP guests), which kvm-clock deals with.

2) proper lpj calibration, so m/udelay behave as expected, but not
enough interrupts can be injected due to CPU starvation as you mention.

On my testbox, with each pCPU running a cycle hog on nice -10, the first
timer_irq_works call (via IOAPIC) won't fail (guest is truly starved).
Host with both CONFIG_PREEMPT/CONFIG_PREEMPT_VOLUNTARY.

And moreover, code attempts to first deliver via IOAPIC, then 8259A, 
then virtual wire. Reports show all three failing.

3) Failure to inject the interrupt will break the in-kernel PIT ack
logic. The VMX NMI/IRQ race you fixed can certainly cause this. Can you
reproduce it with the fix (and CONFIG_KVM_CLOCK=y) ?

Any other possibilities? 

> Maybe Gleb's anti-coalesce patches for the PIC can also deal with your
> timer resolution conflict. At least worth a try...
> 
> Jan
> 


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: 2.6.27.5 guest boot failure using in-kernel PIT

2008-11-21 Thread Eduardo Habkost
On Fri, Nov 21, 2008 at 02:39:22PM -0200, Eduardo Habkost wrote:
> On Fri, Nov 21, 2008 at 04:41:00PM +0100, Jan Kiszka wrote:
> > Eduardo Habkost wrote:

> > > I am seeing the problem here
> > > when using the in-kernel PIT, but (surprisingly) my setup works when
> > > using -no-kvm-pit.
> > 
> > Weird, makes no sense to me as well ATM.
> 
> The qemu PIT seems to calculate the timeout for its timer as a function
> of the time where the PIT timer was set up (count_load_time) and the
> last timer set up (next_transition_time), without looking at the current
> time. After missing some ticks and getting the timer triggered late,
> it will set up a lot of "trigger on the past" timers before the guest
> finished the mdelay() loop.
> 
> The in-kernel PIT seems to try to do the same thing (it just calls
> hrtimer_add_expires_ns() on the timer), but maybe the behaviour of the
> kernel timers is different of the qemu timers when a timer is set up
> to be triggered on the past. On my host-HZ=250 guest-HZ=1000 setup,
> it was incrementing pit_timer.pending only once every 4 milliseconds.

That's the case. From a probe on __pit_timer_fn.return:
19344471136382 timer_fn returning. timer expires now at: 19343448496177
19344475128359 timer_fn returning. timer expires now at: 19343449496025
19344479128694 timer_fn returning. timer expires now at: 19343450495873
19344483129394 timer_fn returning. timer expires now at: 19343451495721

The number at the beginning of the lines is ktime_get(). The timer
expiration time is on the past, but the kernel keeps triggering the
timer once every 4 ms.

-- 
Eduardo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: 2.6.27.5 guest boot failure using in-kernel PIT

2008-11-21 Thread Eduardo Habkost
On Fri, Nov 21, 2008 at 04:41:00PM +0100, Jan Kiszka wrote:
> Eduardo Habkost wrote:
> > On Fri, Nov 21, 2008 at 08:54:56AM +0100, Jan Kiszka wrote:
> >> Eduardo Habkost wrote:
> >>> On Thu, Nov 20, 2008 at 12:22:53PM -0200, Eduardo Habkost wrote:
>  Hi,
> 
>  When using a kvm.git kernel as host, I am getting guest boot failures
>  when booting Fedora Rawhide kernel (2.6.27.5-117.fc10.x86_64). Guest
>  stops booting at:
> 
>  ENABLING IO-APIC IRQs
>  ..TIMER: vector=0x30 apic1=0 pin1=0 apic2=-1 pin2=-1
>  ..MP-BIOS bug: 8254 timer not connected to IO-APIC
>  ...trying to set up timer (IRQ0) through the 8259A ...
>  . (found apic 0 pin 0) ...
>  ... failed.
>  ...trying to set up timer as Virtual Wire IRQ...
>  . failed.
>  ...trying to set up timer as ExtINT IRQ...
> >>> I've just found out this problem happens because the guest has HZ=1000
> >>> and the host had HZ=250 and no CONFIG_HIGH_RES_TIMERS.
> >>>
> >>> With this setup, the host is not managing to inject enough timer
> >>> interrupts during the mdelay() loop on timer_irq_works().
> >>>
> >> Interesting, and plausible.
> >>
> >> My observation so far is a sporadic test failure, often correlating with
> >> some raised host OS load. I'm running a high-res kernel, but that cannot
> >> prevent that this only 10 ticks long loop of the guest may obtain too
> >> few CPU cycles to handle enough of them once in a while (IIRC, it needs
> >> 4 out of the 10 ticks to declare the timer routing functional).
> >>
> >> Maybe Gleb's anti-coalesce patches for the PIC can also deal with your
> >> timer resolution conflict. At least worth a try...
> > 
> > Aren't Gleb patches for the userspace PIT?
> 
> Yeah, they are, so you won't benefit from them for in-kernel cases. But
> with in-kernel emulation just the probability of coalesced ticks is a
> bit lower, they cannot be avoided either.
> 
> > I am seeing the problem here
> > when using the in-kernel PIT, but (surprisingly) my setup works when
> > using -no-kvm-pit.
> 
> Weird, makes no sense to me as well ATM.

The qemu PIT seems to calculate the timeout for its timer as a function
of the time where the PIT timer was set up (count_load_time) and the
last timer set up (next_transition_time), without looking at the current
time. After missing some ticks and getting the timer triggered late,
it will set up a lot of "trigger on the past" timers before the guest
finished the mdelay() loop.

The in-kernel PIT seems to try to do the same thing (it just calls
hrtimer_add_expires_ns() on the timer), but maybe the behaviour of the
kernel timers is different of the qemu timers when a timer is set up
to be triggered on the past. On my host-HZ=250 guest-HZ=1000 setup,
it was incrementing pit_timer.pending only once every 4 milliseconds.

-- 
Eduardo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: 2.6.27.5 guest boot failure using in-kernel PIT

2008-11-21 Thread Jan Kiszka
Eduardo Habkost wrote:
> On Fri, Nov 21, 2008 at 08:54:56AM +0100, Jan Kiszka wrote:
>> Eduardo Habkost wrote:
>>> On Thu, Nov 20, 2008 at 12:22:53PM -0200, Eduardo Habkost wrote:
 Hi,

 When using a kvm.git kernel as host, I am getting guest boot failures
 when booting Fedora Rawhide kernel (2.6.27.5-117.fc10.x86_64). Guest
 stops booting at:

 ENABLING IO-APIC IRQs
 ..TIMER: vector=0x30 apic1=0 pin1=0 apic2=-1 pin2=-1
 ..MP-BIOS bug: 8254 timer not connected to IO-APIC
 ...trying to set up timer (IRQ0) through the 8259A ...
 . (found apic 0 pin 0) ...
 ... failed.
 ...trying to set up timer as Virtual Wire IRQ...
 . failed.
 ...trying to set up timer as ExtINT IRQ...
>>> I've just found out this problem happens because the guest has HZ=1000
>>> and the host had HZ=250 and no CONFIG_HIGH_RES_TIMERS.
>>>
>>> With this setup, the host is not managing to inject enough timer
>>> interrupts during the mdelay() loop on timer_irq_works().
>>>
>> Interesting, and plausible.
>>
>> My observation so far is a sporadic test failure, often correlating with
>> some raised host OS load. I'm running a high-res kernel, but that cannot
>> prevent that this only 10 ticks long loop of the guest may obtain too
>> few CPU cycles to handle enough of them once in a while (IIRC, it needs
>> 4 out of the 10 ticks to declare the timer routing functional).
>>
>> Maybe Gleb's anti-coalesce patches for the PIC can also deal with your
>> timer resolution conflict. At least worth a try...
> 
> Aren't Gleb patches for the userspace PIT?

Yeah, they are, so you won't benefit from them for in-kernel cases. But
with in-kernel emulation just the probability of coalesced ticks is a
bit lower, they cannot be avoided either.

> I am seeing the problem here
> when using the in-kernel PIT, but (surprisingly) my setup works when
> using -no-kvm-pit.

Weird, makes no sense to me as well ATM.

Jan



signature.asc
Description: OpenPGP digital signature


Re: 2.6.27.5 guest boot failure using in-kernel PIT

2008-11-21 Thread Eduardo Habkost
On Fri, Nov 21, 2008 at 08:54:56AM +0100, Jan Kiszka wrote:
> Eduardo Habkost wrote:
> > On Thu, Nov 20, 2008 at 12:22:53PM -0200, Eduardo Habkost wrote:
> >> Hi,
> >>
> >> When using a kvm.git kernel as host, I am getting guest boot failures
> >> when booting Fedora Rawhide kernel (2.6.27.5-117.fc10.x86_64). Guest
> >> stops booting at:
> >>
> >> ENABLING IO-APIC IRQs
> >> ..TIMER: vector=0x30 apic1=0 pin1=0 apic2=-1 pin2=-1
> >> ..MP-BIOS bug: 8254 timer not connected to IO-APIC
> >> ...trying to set up timer (IRQ0) through the 8259A ...
> >> . (found apic 0 pin 0) ...
> >> ... failed.
> >> ...trying to set up timer as Virtual Wire IRQ...
> >> . failed.
> >> ...trying to set up timer as ExtINT IRQ...
> > 
> > I've just found out this problem happens because the guest has HZ=1000
> > and the host had HZ=250 and no CONFIG_HIGH_RES_TIMERS.
> > 
> > With this setup, the host is not managing to inject enough timer
> > interrupts during the mdelay() loop on timer_irq_works().
> > 
> 
> Interesting, and plausible.
> 
> My observation so far is a sporadic test failure, often correlating with
> some raised host OS load. I'm running a high-res kernel, but that cannot
> prevent that this only 10 ticks long loop of the guest may obtain too
> few CPU cycles to handle enough of them once in a while (IIRC, it needs
> 4 out of the 10 ticks to declare the timer routing functional).
> 
> Maybe Gleb's anti-coalesce patches for the PIC can also deal with your
> timer resolution conflict. At least worth a try...

Aren't Gleb patches for the userspace PIT? I am seeing the problem here
when using the in-kernel PIT, but (surprisingly) my setup works when
using -no-kvm-pit.

-- 
Eduardo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: 2.6.27.5 guest boot failure using in-kernel PIT

2008-11-20 Thread Jan Kiszka
Eduardo Habkost wrote:
> On Thu, Nov 20, 2008 at 12:22:53PM -0200, Eduardo Habkost wrote:
>> Hi,
>>
>> When using a kvm.git kernel as host, I am getting guest boot failures
>> when booting Fedora Rawhide kernel (2.6.27.5-117.fc10.x86_64). Guest
>> stops booting at:
>>
>> ENABLING IO-APIC IRQs
>> ..TIMER: vector=0x30 apic1=0 pin1=0 apic2=-1 pin2=-1
>> ..MP-BIOS bug: 8254 timer not connected to IO-APIC
>> ...trying to set up timer (IRQ0) through the 8259A ...
>> . (found apic 0 pin 0) ...
>> ... failed.
>> ...trying to set up timer as Virtual Wire IRQ...
>> . failed.
>> ...trying to set up timer as ExtINT IRQ...
> 
> I've just found out this problem happens because the guest has HZ=1000
> and the host had HZ=250 and no CONFIG_HIGH_RES_TIMERS.
> 
> With this setup, the host is not managing to inject enough timer
> interrupts during the mdelay() loop on timer_irq_works().
> 

Interesting, and plausible.

My observation so far is a sporadic test failure, often correlating with
some raised host OS load. I'm running a high-res kernel, but that cannot
prevent that this only 10 ticks long loop of the guest may obtain too
few CPU cycles to handle enough of them once in a while (IIRC, it needs
4 out of the 10 ticks to declare the timer routing functional).

Maybe Gleb's anti-coalesce patches for the PIC can also deal with your
timer resolution conflict. At least worth a try...

Jan



signature.asc
Description: OpenPGP digital signature


Re: 2.6.27.5 guest boot failure using in-kernel PIT

2008-11-20 Thread Sheng Yang
On Friday 21 November 2008 06:05:17 Eduardo Habkost wrote:
> On Thu, Nov 20, 2008 at 12:22:53PM -0200, Eduardo Habkost wrote:
> > Hi,
> >
> > When using a kvm.git kernel as host, I am getting guest boot failures
> > when booting Fedora Rawhide kernel (2.6.27.5-117.fc10.x86_64). Guest
> > stops booting at:
> >
> > ENABLING IO-APIC IRQs
> > ..TIMER: vector=0x30 apic1=0 pin1=0 apic2=-1 pin2=-1
> > ..MP-BIOS bug: 8254 timer not connected to IO-APIC
> > ...trying to set up timer (IRQ0) through the 8259A ...
> > . (found apic 0 pin 0) ...
> > ... failed.
> > ...trying to set up timer as Virtual Wire IRQ...
> > . failed.
> > ...trying to set up timer as ExtINT IRQ...
>
> I've just found out this problem happens because the guest has HZ=1000
> and the host had HZ=250 and no CONFIG_HIGH_RES_TIMERS.
>
> With this setup, the host is not managing to inject enough timer
> interrupts during the mdelay() loop on timer_irq_works().

So, do we need to depend on CONFIG_HIGH_RES_TIMERS? I think most modern 
machine should have this.

-- 
regards
Yang, Sheng
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: 2.6.27.5 guest boot failure using in-kernel PIT

2008-11-20 Thread Eduardo Habkost
On Thu, Nov 20, 2008 at 12:22:53PM -0200, Eduardo Habkost wrote:
> 
> Hi,
> 
> When using a kvm.git kernel as host, I am getting guest boot failures
> when booting Fedora Rawhide kernel (2.6.27.5-117.fc10.x86_64). Guest
> stops booting at:
> 
> ENABLING IO-APIC IRQs
> ..TIMER: vector=0x30 apic1=0 pin1=0 apic2=-1 pin2=-1
> ..MP-BIOS bug: 8254 timer not connected to IO-APIC
> ...trying to set up timer (IRQ0) through the 8259A ...
> . (found apic 0 pin 0) ...
> ... failed.
> ...trying to set up timer as Virtual Wire IRQ...
> . failed.
> ...trying to set up timer as ExtINT IRQ...

I've just found out this problem happens because the guest has HZ=1000
and the host had HZ=250 and no CONFIG_HIGH_RES_TIMERS.

With this setup, the host is not managing to inject enough timer
interrupts during the mdelay() loop on timer_irq_works().

-- 
Eduardo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


2.6.27.5 guest boot failure using in-kernel PIT

2008-11-20 Thread Eduardo Habkost

Hi,

When using a kvm.git kernel as host, I am getting guest boot failures
when booting Fedora Rawhide kernel (2.6.27.5-117.fc10.x86_64). Guest
stops booting at:

ENABLING IO-APIC IRQs
..TIMER: vector=0x30 apic1=0 pin1=0 apic2=-1 pin2=-1
..MP-BIOS bug: 8254 timer not connected to IO-APIC
...trying to set up timer (IRQ0) through the 8259A ...
. (found apic 0 pin 0) ...
... failed.
...trying to set up timer as Virtual Wire IRQ...
. failed.
...trying to set up timer as ExtINT IRQ...


When using -no-kvm-pit on qemu command-line, the guest boots properly.
The guest also boots properly when using 2.6.27.5-117.fc10.x86_64 as
the host kernel.

Guest dmesg from both cases are attached. Additional info:

host kernel:
  kvm.git commit 30d95f352f0f7da8788016894db3b2a7efdd3674

host qemu:
 kvm-userspace.git commit 0cf57d569f3204182f768bc135c9dcc1c36a98bc

qemu command lines:

fails: qemu-system-x86_64 -m 512 -serial stdio -kernel 
/boot/vmlinuz-2.6.27.5-117.fc10.x86_64 -append 'console=ttyS0,115200 apic=debug'

works: qemu-system-x86_64 -m 512 -serial stdio -kernel 
/boot/vmlinuz-2.6.27.5-117.fc10.x86_64 -append 'console=ttyS0,115200 
apic=debug' -no-kvm-pit


Some debugging using systemtap indicated that on some point
kvm_pic_reset() runs but doesn't ack the timer IRQ for some reason,
then kvm_inject_pit_timer_irqs() stops injecting IRQs because irq_ack
is cleared.

It looks like the bug commit fa7fed6d2dfa9f62c658414ca1a1be0b2cc94438
tried to fix, but somehow kvm_pic_reset() is still failing to ack the
timer interrupts on my case.

-- 
Eduardo
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 2.6.27.5-117.fc10.x86_64 ([EMAIL PROTECTED]) (gcc version 4.3.2 
20081105 (Red Hat 4.3.2-7) (GCC) ) #1 SMP Tue Nov 18 11:58:53 EST 2008
Command line: console=ttyS0,115200 apic=debug
KERNEL supported cpus:
  Intel GenuineIntel
  AMD AuthenticAMD
  Centaur CentaurHauls
PAT WC disabled due to known CPU erratum.
BIOS-provided physical RAM map:
 BIOS-e820:  - 0009fc00 (usable)
 BIOS-e820: 0009fc00 - 000a (reserved)
 BIOS-e820: 000e8000 - 0010 (reserved)
 BIOS-e820: 0010 - 1fff (usable)
 BIOS-e820: 1fff - 2000 (ACPI data)
 BIOS-e820: fffbd000 - 0001 (reserved)
last_pfn = 0x1fff0 max_arch_pfn = 0x3
init_memory_mapping
last_map_addr: 1fff end: 1fff
DMI 2.4 present.
ACPI: RSDP 000FBC80, 0014 (r0 QEMU  )
ACPI: RSDT 1FFF, 002C (r1 QEMU   QEMURSDT1 QEMU1)
ACPI: FACP 1FFF002C, 0074 (r1 QEMU   QEMUFACP1 QEMU1)
ACPI: DSDT 1FFF0100, 24A4 (r1   BXPC   BXDSDT1 INTL 20061109)
ACPI: FACS 1FFF00C0, 0040
ACPI: APIC 1FFF25A8, 00E0 (r1 QEMU   QEMUAPIC1 QEMU1)
No NUMA configuration found
Faking a node at -1fff
Bootmem setup node 0 -1fff
  NODE_DATA [9000 - 0001dfff]
  bootmap [0001e000 -  00021fff] pages 4
(5 early reservations) ==> bootmem [00 - 001fff]
  #0 [00 - 001000]   BIOS data page ==> [00 - 001000]
  #1 [006000 - 008000]   TRAMPOLINE ==> [006000 - 008000]
  #2 [20 - a2b20c]TEXT DATA BSS ==> [20 - a2b20c]
  #3 [09fc00 - 10]BIOS reserved ==> [09fc00 - 10]
  #4 [008000 - 009000]  PGTABLE ==> [008000 - 009000]
Scan SMP from 8800 for 1024 bytes.
Scan SMP from 8809fc00 for 1024 bytes.
Scan SMP from 880f for 65536 bytes.
found SMP MP-table at [880fbb60] 000fbb60
kvm-clock: cpu 0, msr 0:8de481, boot clock
Zone PFN ranges:
  DMA  0x -> 0x1000
  DMA320x1000 -> 0x0010
  Normal   0x0010 -> 0x0010
Movable zone start PFN for each node
early_node_map[2] active PFN ranges
0: 0x -> 0x009f
0: 0x0100 -> 0x0001fff0
ACPI: PM-Timer IO Port: 0xb008
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] disabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] disabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] disabled)
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] disabled)
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] disabled)
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] disabled)
ACPI: LAPIC (acpi_id[0x08] lapic_id[0x08] disabled)
ACPI: LAPIC (acpi_id[0x09] lapic_id[0x09] disabled)
ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x0a] disabled)
ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x0b] disabled)
ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x0c] disabled)
ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x0d] disabled)
ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x0e] disabled)
ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x0f] disabled)
ACPI: IOAPIC (id[0x01] address[0xfec0] gsi_base[0])
IOAPIC[0]: apic_id 1, version 0, address 0xfec0, GSI 0-23
ACPI: INT_SRC_OVR (b