qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Carlo Marcelo Arenas Belon <carenas@sajinet.com.pe>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] FW: [kvm-devel] CPU consumption for SMP windows guests.
Date: Mon, 27 Aug 2007 11:22:05 -0500	[thread overview]
Message-ID: <20070827162205.GB10830@tapir> (raw)
In-Reply-To: <64F9B87B6B770947A9F8391472E032160D59020C@ehost011-8.exch011.intermedia.net>

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

      parent reply	other threads:[~2007-08-27 16:22 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-26  9:10 [Qemu-devel] FW: [kvm-devel] CPU consumption for SMP windows guests Igor Lvovsky
2007-08-26  9:51 ` Andreas Färber
2007-08-27 16:22 ` Carlo Marcelo Arenas Belon [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070827162205.GB10830@tapir \
    --to=carenas@sajinet.com.pe \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).