[Resurrecting post from the dead]

Marcelo Tosatti wrote:
> Forcing clustered APIC mode works only on SMP, and there were high CPU
> consumption on Windows SMP guests due to C3 state being reported (fixed
> in kvm-30 something).
>
> So perhaps:
> - Faking clustered APIC on SMP 
> - Faking C3 on UP
>
> And turning of the TSC bit (for 32-bit guests).
>
> Is the way to go? 
>
> Avi, do you understand why C3 was causing the Windows SMP problems ?
>
>   

It's probably inb()ing on the port in a loop.  It's not SMP causing the 
problems, but the ACPI HAL.  I'll check this.

> /* Common C-state entry for C2, C3, .. */
> static void acpi_cstate_enter(struct acpi_processor_cx *cstate)
> {
>         if (cstate->space_id == ACPI_CSTATE_FFH) {
>                 /* Call into architectural FFH based C-state */
>                 acpi_processor_ffh_cstate_enter(cstate);
>         } else {
>                 int unused;
>                 /* IO port based C-state */
>                 inb(cstate->address);
>                 /* Dummy wait op - must do something useless after P_LVL2 read
>                    because chipsets cannot guarantee that STPCLK# signal
>                    gets asserted in time to freeze execution properly. */
>                 unused = inl(acpi_gbl_FADT.xpm_timer_block.address);
>         }
> }
>
> Clearly that inb() won't actually idle under QEMU. So the question is,
> if C3 stated is reported, that port read should be emulated... But how? 
>   

We can add now use the KVM_SET_MPSTATE ioctl to halt the vcpu if we see 
the port read.  Since not all hosts support setting mpstate, the bios 
should only report C3 if the host supports it.

-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to