[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-discuss] How do I optimize qemu for old VxWorks 5.2 Guest[was:

From: Jakob Bohm
Subject: Re: [Qemu-discuss] How do I optimize qemu for old VxWorks 5.2 Guest[was: (no subject)]
Date: Fri, 06 Jun 2014 11:27:18 +0200
User-agent: Mozilla/5.0 (Windows NT 5.2; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

On 6/4/2014 8:25 PM, p_j_r_m wrote:
So it seems acceleration is possible...
why do you say "use a 64 bit Linux kernel"?
Why can´t I use a i386 kernel ? would be a better performance on x86_64
machine ?
  Thank you very much.

The kvm module uses a 64 bit mechanism in the x86_64 instruction set, which I don't think (I am not certain though) is available at all in
the 32 bit x86 instruction set.  So I strongly suspect that it is
simply not available in i386 kernels.

Others on this list: Please correct me if I am wrong.

El Miércoles 4 de junio de 2014 19:10, Jakob Bohm
<address@hidden> escribió:

On 6/2/2014 11:30 PM, p_j_r_m wrote:

 > Hi
 > I´ve an old 5.2 vxWorks x86 based system running on qemu over Linux.It
 > compiles with Tornado , so it´s quite old.My doubt is ,can this system
 > take benefit of some kind of acceleration?. (Linux goes up to 100% in
 > all CPU cores). Or, being it compiled with such an old "features" is no
 > way to accelerate it? Should i recompile and relink my binaries with
 > newer libraries to take benefit of it ,or this has nothing to do?.
 > I´m quite confused about what type of acceleration,if any, use in this
 > system.

The first optimization to try is to use kvm: On the physical machine,
use a recent AMD or Intel CPU with the hardware virtualization
instruction set extensions (AMD-V or Intel VT-x).  Then use a 64 bit
Linux kernel with the kvm modules loaded or compiled in.  Finally
invoke qemu with the -enable-kvm option to take advantage of this
hardware accelleration.

The second optimization is to find a VxWorks boot/run/configuration
option which executes the HLT instruction whenever the VxWorks kernel
is just idle waiting for an interrupt.  On a physical hardware CPU
(any age), this will save electricity and heat by making the CPU use
less power when idle.  On a virtual CPU, this will release the CPU
for use by other Linux processes (or allow Linux to save power by
using the HLT instruction on the real CPU).

If you do not find a VxWorks option to invoke HLT, there might be
an option to call some legacy BIOS function in its place, there is
a good (but not perfect) chance that the SeaBIOS provided by qemu
will map that legacy BIOS function to a similar release of the CPU
back to Linux.


Jakob Bohm, CIO, Partner, WiseMo A/S.  http://www.wisemo.com
Transformervej 29, 2730 Herlev, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded

reply via email to

[Prev in Thread] Current Thread [Next in Thread]