3.0.6, Intel Core2, two cpu Win XP guest terribly slow
Posted: 10. Sep 2009, 15:26
It seems that there's enormous confusion on VirtualBox 3.0.6 and multi-cpu guests. Release notes claim they are supported, but I see tons of problems to which nobody has any answers.
I'm posting this on this general forum, since I don't know whether this is related to my host OS, guest OS, both, or neither.
I'm running VBox on Opensuse 11.1 64-bit Linux, with Intel Core2 Duo E6300 CPU. I'm trying to enable 2 cpus in the guest. I enable IO-APIC and VT-x and set number of cpus to 2. I then install Windows XP. The installation takes a long time, and XP is running terribly slow afterwards also. Installing guest additions did not change anything.
I originally made a bug report on this on 3.0.4 (http://www.virtualbox.org/ticket/4586), but it was closed as "duplicate", I was told that "As stated in the known limitations section some Intel CPUs (yours included) and all AMD CPUs do not support any hardware optimization that's needed when turning on the IO-APIC." However, I did not find any Intel Core2 -related limitations in the manual, and bugs related to IO-APIC seem to be closed and marked as fixed in the bugtracker...
Does anyone know the current status of SMP guest support and what hardware is needed to use it?
Here's a snippet from the log, if that's of any help:
Mod Edit: Please use Code Blocks for log files.
I'm posting this on this general forum, since I don't know whether this is related to my host OS, guest OS, both, or neither.
I'm running VBox on Opensuse 11.1 64-bit Linux, with Intel Core2 Duo E6300 CPU. I'm trying to enable 2 cpus in the guest. I enable IO-APIC and VT-x and set number of cpus to 2. I then install Windows XP. The installation takes a long time, and XP is running terribly slow afterwards also. Installing guest additions did not change anything.
I originally made a bug report on this on 3.0.4 (http://www.virtualbox.org/ticket/4586), but it was closed as "duplicate", I was told that "As stated in the known limitations section some Intel CPUs (yours included) and all AMD CPUs do not support any hardware optimization that's needed when turning on the IO-APIC." However, I did not find any Intel Core2 -related limitations in the manual, and bugs related to IO-APIC seem to be closed and marked as fixed in the bugtracker...
Does anyone know the current status of SMP guest support and what hardware is needed to use it?
Here's a snippet from the log, if that's of any help:
Code: Select all
00:00:17.531 ************************* CPUID dump ************************
00:00:17.531 RAW Standard CPUIDs
00:00:17.531 Function eax ebx ecx edx
00:00:17.531 Gst: 00000000 00000005 756e6547 6c65746e 49656e69
00:00:17.531 Hst: 0000000a 756e6547 6c65746e 49656e69
00:00:17.531 Gst: 00000001 000006f6 00020800 00000001 178bf1bf
00:00:17.531 Hst: 000006f6 00020800 0000e3bd bfebfbff
00:00:17.531 Gst: 00000002 05b0b101 005657f0 00000000 2cb4307d
00:00:17.531 Hst: 05b0b101 005657f0 00000000 2cb4307d
00:00:17.531 Gst: 00000003 00000000 00000000 00000000 00000000
00:00:17.531 Hst: 00000000 00000000 00000000 00000000
00:00:17.531 Gst: 00000004 04000000 00000000 00000000 00000000
00:00:17.531 Hst: 04000121 01c0003f 0000003f 00000001
00:00:17.531 Gst: 00000005 00000000 00000000 00000000 00000000
00:00:17.531 Hst: 00000040 00000040 00000003 00000020
00:00:17.531 Name: GenuineIntel
00:00:17.531 Supports: 0-5
00:00:17.531 Family: 6 Extended: 0 Effective: 6
00:00:17.531 Model: 15 Extended: 0 Effective: 15
00:00:17.531 Stepping: 6
00:00:17.531 APIC ID: 0x00
00:00:17.531 Logical CPUs: 2
00:00:17.531 CLFLUSH Size: 8
00:00:17.531 Brand ID: 0x00
00:00:17.531 Mnemonic - Description = guest (host)
00:00:17.531 FPU - x87 FPU on Chip = 1 (1)
00:00:17.531 VME - Virtual 8086 Mode Enhancements = 1 (1)
00:00:17.531 DE - Debugging extensions = 1 (1)
00:00:17.531 PSE - Page Size Extension = 1 (1)
00:00:17.531 TSC - Time Stamp Counter = 1 (1)
00:00:17.531 MSR - Model Specific Registers = 1 (1)
00:00:17.531 PAE - Physical Address Extension = 0 (1)
00:00:17.531 MCE - Machine Check Exception = 1 (1)
00:00:17.531 CX8 - CMPXCHG8B instruction = 1 (1)
00:00:17.531 APIC - APIC On-Chip = 0 (1)
00:00:17.531 Reserved = 0 (0)
00:00:17.531 SEP - SYSENTER and SYSEXIT = 0 (1)
00:00:17.531 MTRR - Memory Type Range Registers = 1 (1)
00:00:17.531 PGE - PTE Global Bit = 1 (1)
00:00:17.531 MCA - Machine Check Architecture = 1 (1)
00:00:17.531 CMOV - Conditional Move Instructions = 1 (1)
00:00:17.531 PAT - Page Attribute Table = 1 (1)
00:00:17.531 PSE-36 - 36-bit Page Size Extention = 1 (1)
00:00:17.531 PSN - Processor Serial Number = 0 (0)
00:00:17.531 CLFSH - CLFLUSH Instruction. = 1 (1)
00:00:17.531 Reserved = 0 (0)
00:00:17.531 DS - Debug Store = 0 (1)
00:00:17.531 ACPI - Thermal Mon. & Soft. Clock Ctrl.= 0 (1)
00:00:17.531 MMX - Intel MMX Technology = 1 (1)
00:00:17.531 FXSR - FXSAVE and FXRSTOR Instructions = 1 (1)
00:00:17.531 SSE - SSE Support = 1 (1)
00:00:17.531 SSE2 - SSE2 Support = 1 (1)
00:00:17.531 SS - Self Snoop = 0 (1)
00:00:17.531 HTT - Hyper-Threading Technolog = 1 (1)
00:00:17.531 TM - Thermal Monitor = 0 (1)
00:00:17.531 30 - Reserved = 0 (0)
00:00:17.531 PBE - Pending Break Enable = 0 (1)
00:00:17.531 Supports SSE3 or not = 1 (1)
00:00:17.531 Reserved = 0 (0)
00:00:17.531 DS Area 64-bit layout = 0 (1)
00:00:17.531 Supports MONITOR/MWAIT = 0 (1)
00:00:17.531 CPL-DS - CPL Qualified Debug Store = 0 (1)
00:00:17.531 VMX - Virtual Machine Technology = 0 (1)
00:00:17.531 SMX - Safer Mode Extensions = 0 (0)
00:00:17.531 Enhanced SpeedStep Technology = 0 (1)
00:00:17.531 Terminal Monitor 2 = 0 (1)
00:00:17.531 Supports Supplemental SSE3 or not = 0 (1)
00:00:17.531 L1 Context ID = 0 (0)
00:00:17.531 Reserved = 0x0 (0x0)
00:00:17.531 CMPXCHG16B = 0 (1)
00:00:17.531 xTPR Update Control = 0 (1)
00:00:17.531 Perf/Debug Capability MSR = 0 (1)
00:00:17.531 Reserved = 0x0 (0x0)
00:00:17.531 Direct Cache Access = 0 (0)
00:00:17.531 Supports SSE4_1 or not = 0 (0)
00:00:17.531 Supports SSE4_2 or not = 0 (0)
00:00:17.531 Supports the x2APIC extensions = 0 (0)
00:00:17.531 Supports MOVBE = 0 (0)
00:00:17.531 Supports POPCNT = 0 (0)
00:00:17.531 Reserved = 0x0 (0x0)
00:00:17.531 Supports XSAVE = 0 (0)
00:00:17.531 Supports OSXSAVE = 0 (0)
00:00:17.531 Reserved = 0x0 (0x0)
00:00:17.531
00:00:17.531 RAW Extended CPUIDs
00:00:17.531 Function eax ebx ecx edx
00:00:17.531 Gst: 80000000 80000008 00000000 00000000 00000000
00:00:17.531 Hst: 80000008 00000000 00000000 00000000
00:00:17.531 Gst: 80000001 00000000 00000000 00000000 00000000
00:00:17.531 Hst: 00000000 00000000 00000001 20100800
00:00:17.531 Gst: 80000002 65746e49 2952286c 726f4320 4d542865
00:00:17.531 Hst: 65746e49 2952286c 726f4320 4d542865
00:00:17.531 Gst: 80000003 43203229 20205550 20202020 20202020
00:00:17.531 Hst: 43203229 20205550 20202020 20202020
00:00:17.531 Gst: 80000004 30303336 20402020 36382e31 007a4847
00:00:17.531 Hst: 30303336 20402020 36382e31 007a4847
00:00:17.531 Gst: 80000005 00000000 00000000 00000000 00000000
00:00:17.531 Hst: 00000000 00000000 00000000 00000000
00:00:17.531 Gst: 80000006 00000000 00000000 08006040 00000000
00:00:17.531 Hst: 00000000 00000000 08006040 00000000
00:00:17.531 Gst: 80000007 00000000 00000000 00000000 00000000
00:00:17.531 Hst: 00000000 00000000 00000000 00000000
00:00:17.531 Gst: 80000008 00003024 00000000 00000000 00000000
00:00:17.531 Hst: 00003024 00000000 00000000 00000000
00:00:17.531 Gst: 80000009 07280202 00000000 00000000 00000000*
00:00:17.531 Hst: 07280202 00000000 00000000 00000000
00:00:17.531 Ext Name:
00:00:17.531 Ext Supports: 0x80000000-0x80000008
00:00:17.531 Family: 0 Extended: 0 Effective: 0
00:00:17.531 Model: 0 Extended: 0 Effective: 0
00:00:17.531 Stepping: 0
00:00:17.531 Brand ID: 0x000
00:00:17.531 Mnemonic - Description = guest (host)
00:00:17.531 FPU - x87 FPU on Chip = 0 (0)
00:00:17.531 VME - Virtual 8086 Mode Enhancements = 0 (0)
00:00:17.531 DE - Debugging extensions = 0 (0)
00:00:17.531 PSE - Page Size Extension = 0 (0)
00:00:17.531 TSC - Time Stamp Counter = 0 (0)
00:00:17.531 MSR - K86 Model Specific Registers = 0 (0)
00:00:17.531 PAE - Physical Address Extension = 0 (0)
00:00:17.531 MCE - Machine Check Exception = 0 (0)
00:00:17.531 CX8 - CMPXCHG8B instruction = 0 (0)
00:00:17.531 APIC - APIC On-Chip = 0 (0)
00:00:17.531 10 - Reserved = 0 (0)
00:00:17.531 SEP - SYSCALL and SYSRET = 0 (1)
00:00:17.531 MTRR - Memory Type Range Registers = 0 (0)
00:00:17.531 PGE - PTE Global Bit = 0 (0)
00:00:17.531 MCA - Machine Check Architecture = 0 (0)
00:00:17.531 CMOV - Conditional Move Instructions = 0 (0)
00:00:17.531 PAT - Page Attribute Table = 0 (0)
00:00:17.531 PSE-36 - 36-bit Page Size Extention = 0 (0)
00:00:17.531 18 - Reserved = 0 (0)
00:00:17.531 19 - Reserved = 0 (0)
00:00:17.531 NX - No-Execute Page Protection = 0 (1)
00:00:17.531 DS - Debug Store = 0 (0)
00:00:17.531 AXMMX - AMD Extensions to MMX Instr. = 0 (0)
00:00:17.531 MMX - Intel MMX Technology = 0 (0)
00:00:17.531 FXSR - FXSAVE and FXRSTOR Instructions = 0 (0)
00:00:17.531 25 - AMD fast FXSAVE and FXRSTOR Instr.= 0 (0)
00:00:17.531 26 - 1 GB large page support = 0 (0)
00:00:17.531 27 - RDTSCP instruction = 0 (0)
00:00:17.531 28 - Reserved = 0 (0)
00:00:17.531 29 - AMD Long Mode = 0 (1)
00:00:17.531 30 - AMD Extensions to 3DNow = 0 (0)
00:00:17.531 31 - AMD 3DNow = 0 (0)
00:00:17.531 LahfSahf - LAHF/SAHF in 64-bit mode = 0 (1)
00:00:17.531 CmpLegacy - Core MP legacy mode (depr) = 0 (0)
00:00:17.531 SVM - AMD VM Extensions = 0 (0)
00:00:17.531 APIC registers starting at 0x400 = 0 (0)
00:00:17.531 AltMovCR8 - LOCK MOV CR0 means MOV CR8 = 0 (0)
00:00:17.531 Advanced bit manipulation = 0 (0)
00:00:17.531 SSE4A instruction support = 0 (0)
00:00:17.531 Misaligned SSE mode = 0 (0)
00:00:17.531 PREFETCH and PREFETCHW instruction = 0 (0)
00:00:17.531 OS visible workaround = 0 (0)
00:00:17.531 Instruction based sampling = 0 (0)
00:00:17.531 SSE5 support = 0 (0)
00:00:17.531 SKINIT, STGI, and DEV support = 0 (0)
00:00:17.531 Watchdog timer support. = 0 (0)
00:00:17.531 31:14 - Reserved = 0x0 (0x0)
00:00:17.531 Full Name: Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz
00:00:17.531 TLB 2/4M Instr/Uni: res0 0 entries
00:00:17.531 TLB 2/4M Data: res0 0 entries
00:00:17.531 TLB 4K Instr/Uni: res0 0 entries
00:00:17.531 TLB 4K Data: res0 0 entries
00:00:17.531 L1 Instr Cache Line Size: 0 bytes
00:00:17.531 L1 Instr Cache Lines Per Tag: 0
00:00:17.531 L1 Instr Cache Associativity: res0
00:00:17.531 L1 Instr Cache Size: 0 KB
00:00:17.531 L1 Data Cache Line Size: 0 bytes
00:00:17.531 L1 Data Cache Lines Per Tag: 0
00:00:17.531 L1 Data Cache Associativity: res0
00:00:17.531 L1 Data Cache Size: 0 KB
00:00:17.531 L2 TLB 2/4M Instr/Uni: off 0 entries
00:00:17.531 L2 TLB 2/4M Data: off 0 entries
00:00:17.531 L2 TLB 4K Instr/Uni: off 0 entries
00:00:17.531 L2 TLB 4K Data: off 0 entries
00:00:17.531 L2 Cache Line Size: 0 bytes
00:00:17.531 L2 Cache Lines Per Tag: 0
00:00:17.531 L2 Cache Associativity: off
00:00:17.531 L2 Cache Size: 0 KB
00:00:17.531 APM Features:
00:00:17.531 Physical Address Width: 36 bits
00:00:17.531 Virtual Address Width: 48 bits
00:00:17.531 Physical Core Count: 0
00:00:17.531
00:00:17.531 RAW Centaur CPUIDs
00:00:17.531 Function eax ebx ecx edx
00:00:17.531 Gst: c0000000 07280202 00000000 00000000 00000000
00:00:17.531 Hst: 07280202 00000000 00000000 00000000
00:00:17.531 Gst: c0000001 07280202 00000000 00000000 00000000
00:00:17.531 Hst: 07280202 00000000 00000000 00000000
00:00:17.531 Gst: c0000002 07280202 00000000 00000000 00000000
00:00:17.531 Hst: 07280202 00000000 00000000 00000000
00:00:17.531 Gst: c0000003 07280202 00000000 00000000 00000000
00:00:17.531 Hst: 07280202 00000000 00000000 00000000
00:00:17.531 Centaur Supports: 0xc0000000-0x07280202
00:00:17.531 Mnemonic - Description = guest (host)
00:00:17.531 AIS - Alternate Instruction Set = 0 (0)
00:00:17.531 AIS-E - AIS enabled = 0 (0)
00:00:17.531 RNG - Random Number Generator = 0 (0)
00:00:17.531 RNG-E - RNG enabled = 0 (0)
00:00:17.531 LH - LongHaul MSR 0000_110Ah = 0 (0)
00:00:17.531 FEMMS - FEMMS = 0 (0)
00:00:17.531 ACE - Advanced Cryptography Engine = 0 (0)
00:00:17.531 ACE-E - ACE enabled = 0 (0)
00:00:17.531 ACE2 - Advanced Cryptography Engine 2 = 0 (0)
00:00:17.531 ACE2-E - ACE enabled = 0 (0)
00:00:17.531 PHE - Hash Engine = 0 (0)
00:00:17.531 PHE-E - PHE enabled = 0 (0)
00:00:17.531 PMM - Montgomery Multiplier = 0 (0)
00:00:17.531 PMM-E - PMM enabled = 0 (0)
00:00:17.531
00:00:17.531
00:00:17.531 ******************** End of CPUID dump **********************
....
00:00:18.360 HWACCM: Host CR4=000006E0
00:00:18.360 HWACCM: MSR_IA32_FEATURE_CONTROL = 5
00:00:18.360 HWACCM: MSR_IA32_VMX_BASIC_INFO = 1a040000000007
00:00:18.360 HWACCM: VMCS id = 7
00:00:18.360 HWACCM: VMCS size = 400
00:00:18.360 HWACCM: VMCS physical address limit = None
00:00:18.360 HWACCM: VMCS memory type = 6
00:00:18.360 HWACCM: Dual monitor treatment = 1
00:00:18.360 HWACCM: MSR_IA32_VMX_PINBASED_CTLS = 1f00000016
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PIN_EXEC_CONTROLS_EXT_INT_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PIN_EXEC_CONTROLS_NMI_EXIT
00:00:18.360 HWACCM: MSR_IA32_VMX_PROCBASED_CTLS = 77b9fffe0401e172
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_IRQ_WINDOW_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_TSC_OFFSET
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_HLT_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_INVLPG_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_MWAIT_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_RDPMC_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_RDTSC_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR3_LOAD_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR3_STORE_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR8_LOAD_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR8_STORE_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_USE_TPR_SHADOW
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_MOV_DR_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_UNCOND_IO_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_USE_IO_BITMAPS
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_USE_MSR_BITMAPS
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_MONITOR_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_PAUSE_EXIT
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR3_LOAD_EXIT *must* be set
00:00:18.360 HWACCM: VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR3_STORE_EXIT *must* be set
00:00:18.360 HWACCM: MSR_IA32_VMX_ENTRY_CTLS = 1fff000011ff
00:00:18.360 HWACCM: VMX_VMCS_CTRL_ENTRY_CONTROLS_LOAD_DEBUG
00:00:18.360 HWACCM: VMX_VMCS_CTRL_ENTRY_CONTROLS_IA64_MODE
00:00:18.360 HWACCM: VMX_VMCS_CTRL_ENTRY_CONTROLS_ENTRY_SMM
00:00:18.360 HWACCM: VMX_VMCS_CTRL_ENTRY_CONTROLS_DEACTIVATE_DUALMON
00:00:18.360 HWACCM: VMX_VMCS_CTRL_ENTRY_CONTROLS_LOAD_DEBUG *must* be set
00:00:18.360 HWACCM: MSR_IA32_VMX_EXIT_CTLS = 3efff00036dff
00:00:18.360 HWACCM: VMX_VMCS_CTRL_EXIT_CONTROLS_SAVE_DEBUG
00:00:18.360 HWACCM: VMX_VMCS_CTRL_EXIT_CONTROLS_HOST_AMD64
00:00:18.360 HWACCM: VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXTERNAL_IRQ
00:00:18.360 HWACCM: VMX_VMCS_CTRL_EXIT_CONTROLS_SAVE_DEBUG *must* be set
00:00:18.360 HWACCM: MSR_IA32_VMX_MISC = 403c0
00:00:18.360 HWACCM: MSR_IA32_VMX_MISC_PREEMPT_TSC_BIT 0
00:00:18.360 HWACCM: MSR_IA32_VMX_MISC_ACTIVITY_STATES 7
00:00:18.360 HWACCM: MSR_IA32_VMX_MISC_CR3_TARGET 4
00:00:18.360 HWACCM: MSR_IA32_VMX_MISC_MAX_MSR 200
00:00:18.360 HWACCM: MSR_IA32_VMX_MISC_MSEG_ID 0
00:00:18.360 HWACCM: MSR_IA32_VMX_CR0_FIXED0 = 80000021
00:00:18.360 HWACCM: MSR_IA32_VMX_CR0_FIXED1 = ffffffff
00:00:18.360 HWACCM: MSR_IA32_VMX_CR4_FIXED0 = 2000
00:00:18.360 HWACCM: MSR_IA32_VMX_CR4_FIXED1 = 27ff
00:00:18.360 HWACCM: MSR_IA32_VMX_VMCS_ENUM = 2c
00:00:18.360 HWACCM: TPR shadow physaddr = 00000000c1345000
00:00:18.360 HWACCM: VCPU0: MSR bitmap physaddr = 0000000006190000
00:00:18.360 HWACCM: VCPU0: VMCS physaddr = 00000000922d6000
00:00:18.360 HWACCM: VCPU1: MSR bitmap physaddr = 000000000d0e0000
00:00:18.360 HWACCM: VCPU1: VMCS physaddr = 00000000c1f95000
00:00:18.360 HWACCM: Real Mode TSS guest physaddr = 00000000f0800000
00:00:18.360 HWACCM: Non-Paging Mode EPT CR3 = 00000000f0803000
00:00:18.360 CPUMSetGuestCpuIdFeature: Enabled sysenter/exit
00:00:18.360 CPUMSetGuestCpuIdFeature: Enabled PAE
00:00:18.360 CPUMSetGuestCpuIdFeature: Enabled LONG MODE
00:00:18.360 CPUMSetGuestCpuIdFeature: Enabled syscall/ret
00:00:18.360 CPUMSetGuestCpuIdFeature: Enabled LAHF/SAHF
00:00:18.360 CPUMSetGuestCpuIdFeature: Enabled NXE
00:00:18.360 HWACCM: 32-bit and 64-bit guests supported.
00:00:18.360 HWACCM: VMX enabled!