qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] FW: [kvm-devel] CPU consumption for SMP windows guests.


From: Carlo Marcelo Arenas Belon
Subject: Re: [Qemu-devel] FW: [kvm-devel] CPU consumption for SMP windows guests.
Date: Mon, 27 Aug 2007 11:22:05 -0500
User-agent: Mutt/1.4.1i

On Sun, Aug 26, 2007 at 02:10:01AM -0700, Igor Lvovsky wrote:
<SNIP>
>    As it was mentioned in forum (by Avi) it looks like the problem in the
>    windows Idle loop, that spinning instead of executing a 'hlt' instruction.

could you provide a reference to this thread?

>    So, the solution lies in ACPI area.  We need to modify a little bit ACPI
>    tables as following:

if windows is using an ACPI enabled HAL, but not it if it is using an MPS
enabled HAL like :

  halmps.dll (Multiprocessor PCs)

which you would get is using (-no-acpi) as explained below.

<SNIP>
>    Notes: The UP guest uses the HAL with the halaacpi.dll and windows Idle
>    loop work fine without ACPI support (I mean bios don't expose the CPU as
>    ACPI device).

if using -no-acpi then Windows will instead select the MPS HAL for UP instead
of the ACPI ones.

  hal.dll (Standard PCs)

if using ACPI then Windows will either use (dependent on the hardware support) :

  halacpi.dll (Advanced Configuration and Power Interface (ACPI) PCs)
  halapic.dll (Advanced Programmable Interrupt Controller (APIC) PCs)
  halaacpi.dll (APIC ACPI PCs)

in the case if Windows 2000 with your BIOS then it will use halaacpi.dll when
running qemu with ACPI enabled (without -no-acpi) and regardless of how many
processors are defined by -smp.

>    I attached the patch for BOCHS bios and compiled bios.bin.

this bios.bin is broken as it won't enable SMP even if ACPI is disabled (hence
using MPS) as can be seen if you try to start an SMP enabled Linux (like 
knoppix livecd).

I was able to reproduce the broken BIOS by applying the suggested (with some 
tweaks) patches to the current BOCHS CVS though and so it might be as well a
regression added since qemu's branch was created and compiled, but haven't yet
been able to dissect that bug as I am not sure either what version was used
originally for qemu's bios.bin

it does reduce the CPU consumption though, but it might be as well as a side 
effect of removing all contention between CPUs since there is only 1 anyway.

Carlo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]