Unable to use SMP ("VT-x is not available. VERR_VMX_NO_VMX")

Discussions related to using VirtualBox on Linux hosts.
Post Reply
Jensen
Posts: 4
Joined: 6. Jul 2009, 07:15
Primary OS: Ubuntu 8.10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: WinXP

Unable to use SMP ("VT-x is not available. VERR_VMX_NO_VMX")

Post by Jensen »

Hi !
I am unable to boot my WinXP Pro Guest when more than one processor is enabled. I am quiet sure this is a bug. Error-Details read:

Details:
Fehlercode: NS_ERROR_FAILURE (0x80004005)
Komponente: Console
Interface: IConsole {0a51994b-cbc6-4686-94eb-d4e4023280e2}

After some googleing and going to through the forums post, i did the things recommended: I checked the BIOS for any switches but found nothing. But as Linux reports the cpu-flag "svm" in /proc/cpuinfo i guess everything is fine. At least according to [url http://www.howtogeek.com/howto/linux/li ... pports-vt/] the CPU-flag "svm" tells wether my CPU supports AMD-V or not. This is the case, so i guess Virtualization-Features are enabled.

Here are my system-details:

Guest-Settings (only the hardware-relevant settings):
<...>
<CPU count="2">
<HardwareVirtEx enabled="true"/>
<HardwareVirtExNestedPaging enabled="true"/>
<PAE enabled="true"/>
</CPU>
<Memory RAMSize="2048"/>
<Boot>
<Order position="1" device="Floppy"/>
<Order position="2" device="DVD"/>
<Order position="3" device="HardDisk"/>
</Boot>
<Display VRAMSize="64" monitorCount="1" accelerate3D="true"/>
<RemoteDisplay enabled="true" port="3390" authType="Null" authTimeout="5000"/>
<BIOS>
<ACPI enabled="true"/>
<IOAPIC enabled="true"/>
<Logo fadeIn="true" fadeOut="true" displayTime="0"/>
<BootMenu mode="MessageAndMenu"/>
<TimeOffset value="0"/>
<PXEDebug enabled="false"/>
</BIOS>
<...>

/proc/cpuinfo (only the first CPU-Core, second has the same details):
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 107
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 5000+
stepping : 1
cpu MHz : 1000.000
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips : 2004.68
clflush size : 64
power management: ts fid vid ttp tm stc 100mhzsteps

Linux-Kernel: Linux kermitws 2.6.28-13-generic #45-Ubuntu SMP Tue Jun 30 19:49:51 UTC 2009 i686 GNU/Linux

Any ideas welcome. Best Regards, Jens
nbi
Posts: 19
Joined: 6. Jul 2009, 07:24
Primary OS: Debian other
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Windows XP32, XP64, WIN7-64

Re: Unable to use SMP ("VT-x is not available. VERR_VMX_NO_VMX")

Post by nbi »

vbox4me2 wrote:Did you read the FAQ and its 64bit/vt-x section?
What "64bit/vt-x section"? There isn't one in the user FAQ. Are you referring to another FAQ?

BTW, I found SMP to be broken. My XP guest eventually hard-locks when configured for more than one CPU. And no messages are left in the logs. :roll:

With just one CPU VB 3.0.0 seems to work flawlessly though. :D
vbox4me2
Volunteer
Posts: 5218
Joined: 21. Nov 2008, 20:27
Location: Rotterdam
Contact:

Re: Unable to use SMP ("VT-x is not available. VERR_VMX_NO_VMX")

Post by vbox4me2 »

Look at bit further then the end of your nose, its in my sig, both FAQ's.
nbi
Posts: 19
Joined: 6. Jul 2009, 07:24
Primary OS: Debian other
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Windows XP32, XP64, WIN7-64

Re: Unable to use SMP ("VT-x is not available. VERR_VMX_NO_VMX")

Post by nbi »

vbox4me2 wrote:Look at bit further then the end of your nose, its in my sig, both FAQ's.
Silly me. With names like "Forum" and "QuickClick" it should have been obvious of course. Never mind looking for FAQs in obscure places called "Documentation". :roll:

Found your referenced section, unfortunately no relevance to the SMP hard-lock problem.

It seems the culprit may be falsely triggered SMP load balancing in the host. I can see the VirtualBox process jumping from one CPU to the next. This is on a 8 CPU (i7 920) with almost zero load. The net result seems to be a cache migration problem.

If I use 'taskset' to bind the VirtualBox process to one CPU for a single CPU guest then there is no problem. Unfortunately this doesn't work for multiprocessor configurations because the VirtualBox process will hop around on the specified taskset CPU range, i.e. 'taskset -c 4-7'.

If there is a way to restrict CPU usage to only a single process then a workaround might be possible because the SMP load balancing could be eliminated for the working set of VBox processors hopefully eliminating the cache migration problem. At any rate it can only help the guest XP scheduler by having the same (over time) CPUs dedicated to it without host contention.
vbox4me2
Volunteer
Posts: 5218
Joined: 21. Nov 2008, 20:27
Location: Rotterdam
Contact:

Re: Unable to use SMP ("VT-x is not available. VERR_VMX_NO_VMX")

Post by vbox4me2 »

Restriction and such on cpu level can be done but only manually, or via a cli script(headless).
nbi
Posts: 19
Joined: 6. Jul 2009, 07:24
Primary OS: Debian other
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Windows XP32, XP64, WIN7-64

Re: Unable to use SMP ("VT-x is not available. VERR_VMX_NO_VMX")

Post by nbi »

vbox4me2 wrote:Restriction and such on cpu level can be done but only manually, or via a cli script(headless).
Yes, but how? The only utility/API I know of (other than mucking with system calls and/or modifying the scheduler) is 'taskset'. It's perfect for its intended purpose, but if keeping a CPU free of all processes except those specified is desired then it isn't obvious how to go about doing that in an expedient way. I suppose it's possible to bind all running processes so that they stay off the CPU(s) of interest to VBox, but that seems a rather hokey way of doing things.

BTW, I found a bug report in Ubuntu which claims that 64 bit SMP load balancing is broken starting with 2.6.27. This is probably what I'm encountering. Surprised that it hasn't been addressed yet.

Despite all this I think SUN's testing could have been a bit more rigorous. This is something pretty fundamental and I think it should have been caught. I certainly don't expect SUN to fix the SMP load balancing problem, but if they couldn't find a workaround at least a warning statement should have been issued. As it stands SMP doesn't look like it will work for 64 bit VBox until this issue gets addressed (by the kernel.org developers maybe?).
Sasquatch
Volunteer
Posts: 17798
Joined: 17. Mar 2008, 13:41
Primary OS: Debian other
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Windows XP, Windows 7, Linux
Location: /dev/random

Re: Unable to use SMP ("VT-x is not available. VERR_VMX_NO_VMX")

Post by Sasquatch »

After everything you've done, you still missed the most obvious. Or actually, you did see it, but didn't think about it because of the other info you got.
I checked the BIOS for any switches but found nothing.
This is a vital point there. The flags may be visible on the OS, it doesn't always mean that you can actually use them. The BIOS and main board need to support it and if it doesn't, tough luck. It's strange though, because most, if not all AMD main boards these days should support AMD-V. Guess you have a chipset that just doesn't support it. Happens all the time with budget boards and older (first generation) models.
Read the Forum Posting Guide before opening a topic.
VirtualBox FAQ: Check this before asking questions.
Online User Manual: A must read if you want to know what we're talking about.
Howto: Install Linux Guest Additions
Howto: Use Shared Folders on Linux Guest
See the Tutorials and FAQ section at the top of the Forum for more guides.
Try searching the forums first with Google and add the site filter for this forum.
E.g. install guest additions site:forums.virtualbox.org

Retired from this Forum since OSSO introduction.
Jensen
Posts: 4
Joined: 6. Jul 2009, 07:15
Primary OS: Ubuntu 8.10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: WinXP

Re: Unable to use SMP ("VT-x is not available. VERR_VMX_NO_VMX")

Post by Jensen »

Hi Sasquatch,
thanks a lot for your hint!!!1! I checked the mainboard manufacturers homepage and there was indead an update. I updated the Gigabyte MA69G-S3H i own from Version F4a to the latest available (F7) and now there is a switch for virtualization. :lol: :lol: :lol: No more error-messages and the V-Icon in the lower right of the guest window says "AMD-V: enabled, Nested pages: disabled"

BUT: No problem solved without a new one apearing....

I run a WindowsXPPro SP3 guest inside an Ubuntu Jaunty Host. Both 32Bit. VirtualBox ist 3.0.2. I enabled SMP and booted the Windows Guest. Everything works fine, but only one CPU is used. I searched the forum an found one thread: http://forums.virtualbox.org/viewtopic.php?f=2&p=84602 and another one http://forums.virtualbox.org/viewtopic.php?f=2&t=19878. As i was unable to install the "ACPI Multiprocessor PC" via the device-manager i tried:
a) manually replacing the DLLs as descibed here: http://www.handaware.com/multiprocessor_XP.html
b) enable SMP support via the HAL-Tools from here: http://www.hardware.info/en-US/news/ym2 ... t_anymore/

Both times a got a Windows Guest horribly slow, using all CPU resources. There is already a thread with other users reporting this: http://forums.virtualbox.org/viewtopic.php?f=2&t=19549
As a work-around setting the number of CPUs available to 1 fixes the problem, but leaves me with a single-core Guest.

Have come so far but seeing Windows fail now it quiet sad... Any recommendations ?
Best Regards, Jens
Post Reply