From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [QUESTION] x86_64 -> i386/i686 CPU translation between xl and qemu binary? Date: Thu, 4 Feb 2016 22:22:27 +0000 Message-ID: <56B3CF23.4000404@citrix.com> References: <56b3cb85.c542620a.6af1e.ffff9622@mx.google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <56b3cb85.c542620a.6af1e.ffff9622@mx.google.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Alex Braunegg , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 04/02/2016 22:06, Alex Braunegg wrote: > root 30511 46.4 0.1 398728 1860 ? RLsl 08:47 0:27 > /usr/lib/xen/bin/qemu-system-i386 -xen-domid 6 -chardev > socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-6,server,n > owait -no-shutdown -mon chardev=libxl-cmd,mode=control -chardev > socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-6,server,nowait > -mon chardev=libxenstat-cmd,mode=control > -nodefaults -name test2 -vnc > 0.0.0.0:0,websocket,x509=/etc/pki/xen,password,to=99 -display none -serial > pty -device VGA,vgamem_mb=16 -boot order=cd -usb -usbdevice tablet -soundhw > ac97 -device rtl8139,id=nic0,netdev=net0,mac=00:16:3e:f1:48:8c -netdev > type=tap,id=net0,ifname=vif6.0-emu,script=no,downscript=no -machine xenfv -m > 496 -drive file=/dev/zvol/stor > age0/xen/test2/disk_sda,if=ide,index=0,media=disk,format=raw,cache=writeback > -drive > file=/storage0/data-shares/iso/CentOS-6.5-x86_64-minimal.iso,if=ide,index=2, > readonly=on,media=c > drom,format=raw,cache=writeback,id=ide-5632 > > ------------------------------------------ > > So - to me it appears that xl is performing some sort of x86_64 -> i386/i686 > instruction translation to make things work. > > Would this not be introducing a performance impediment by having some sort > of extra translation processing going on between xl and the qemu binary? Qemu is only used for device emulation when used with Xen, not CPU emulation. The "-machine xenfv" tells this to Qemu, and "-xen-domid 6" tells it which Xen domain to connect to. All HVM domains run with hardware virtualisation extensions, which are managed by Xen itself. ~Andrew