|
From: | Igor Lvovsky |
Subject: | [Qemu-devel] CPU consumption for SMP windows guests. |
Date: | Tue, 14 Aug 2007 04:38:59 -0700 |
Hi, I tried to play recently with the ACPI to solve the "CPU
consumption for SMP windows guests" problem that was discussed in kvm
forum. The current problem is: The windows UP guest with latest Bochs bios work well - with
reasonable CPU usage. The windows SMP guest with same bios, consumes a lot of CPU. 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. So, the solution lies in ACPI area. We need to modify a
little bit ACPI tables as following:
- It's immediately solving the
problem with the SMP guests. Now, with new bios windows run with reasonable CPU
consuming. 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). But, the SMP guest uses HAL with the halmacpi.dll
and it looks like windows can't work properly without ACPI support. In additional, once you run the image as SMP (the windows will update
the HAL dll) you can't run it again as UP (truly you can, but the CPU consuming
will huge). The reason for this behavior looks like windows bug; windows can't
revert the HAL to the proper dll for UP. So, the next case fixes this new UP problem and allows running UP
guests with SMP/UP HAL with good CPU consumption.
I attached the patch for BOCHS bios and compiled bios.bin. Regards, Igor Lvovsky |
bios.bin
Description: bios.bin
cpu-consumption.diff
Description: cpu-consumption.diff
[Prev in Thread] | Current Thread | [Next in Thread] |