From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58561) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bksGo-0003Sn-3H for qemu-devel@nongnu.org; Fri, 16 Sep 2016 08:29:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bksGm-0002rA-DY for qemu-devel@nongnu.org; Fri, 16 Sep 2016 08:29:30 -0400 Message-ID: <1474028956.3600.39.camel@redhat.com> From: Andrea Bolognani Date: Fri, 16 Sep 2016 14:29:16 +0200 In-Reply-To: <1473915856-23801-1-git-send-email-wei@redhat.com> References: <1473915856-23801-1-git-send-email-wei@redhat.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH V3 0/2] Add option to configure guest vPMU List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wei Huang , qemu-arm@nongnu.org Cc: qemu-devel@nongnu.org, peter.maydell@linaro.org, drjones@redhat.com, shannon.zhao@linaro.org On Thu, 2016-09-15 at 01:04 -0400, Wei Huang wrote: > This patchset adds a pmu=3D[on/off] option to enable/disable vPMU suppo= rt=C2=A0 > for guest VM. There are several reasons to justify this option. First, > vPMU can be problematic for cross-migration between different SoC as pe= rf > counters are architecture-dependent. It is more flexible to have an opt= ion > to turn it on/off. Secondly Secondly this option matches the "pmu" opti= on > as supported in libvirt. To make sure backward compatible, a PMU proper= ty > is added to mach-virt machine types. [...] > Wei Huang (2): >=C2=A0=C2=A0=C2=A0arm64: Add an option to turn on/off vPMU support >=C2=A0=C2=A0=C2=A0arm: virt: add PMU property to mach-virt machine type >=C2=A0 >=C2=A0=C2=A0hw/arm/virt-acpi-build.c |=C2=A0=C2=A02 +- >=C2=A0=C2=A0hw/arm/virt.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0| 15 ++++++++++++++- >=C2=A0=C2=A0target-arm/cpu.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0| 22 ++++++++++++++++++++++ >=C2=A0=C2=A0target-arm/cpu.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0|=C2=A0=C2=A01 + >=C2=A0=C2=A0target-arm/cpu64.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= |=C2=A0=C2=A02 ++ >=C2=A0=C2=A0target-arm/kvm64.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= | 19 +++++++++++++++---- >=C2=A0=C2=A06 files changed, 55 insertions(+), 6 deletions(-) This doesn't seem to be working :( My guest configuration looks like =C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0abologna-rhel73 =C2=A0=C2=A0=C2=A0=C2=A078f74104-65f2-4faf-9faa-26107c1071ef =C2=A0=C2=A0=C2=A0=C2=A02097152 =C2=A0=C2=A0=C2=A0=C2=A02097152 =C2=A0=C2=A0=C2=A0=C2=A04 =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0hvm =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0/usr/share/AAVMF/AAVMF_CODE.fd =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0/var/lib/libvirt/qemu/nvram/ab= ologna-rhel73_VARS.fd =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0destroy =C2=A0=C2=A0=C2=A0=C2=A0restart =C2=A0=C2=A0=C2=A0=C2=A0restart =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0/usr/libexec/abologna-qemu-= kvm =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0 and based on that configuration, libvirt creates a QEMU command line that looks like =C2=A0 LC_ALL=3DC \ =C2=A0 PATH=3D/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin \ =C2=A0 QEMU_AUDIO_DRV=3Dnone \ =C2=A0 /usr/libexec/abologna-qemu-kvm \ =C2=A0=C2=A0=C2=A0=C2=A0-name guest=3Dabologna-rhel73,debug-threads=3Don = \ =C2=A0=C2=A0=C2=A0=C2=A0-S \ =C2=A0=C2=A0=C2=A0=C2=A0-object secret,id=3DmasterKey0,format=3Draw,file=3D= /var/lib/libvirt/qemu/domain-5-abologna-rhel73/master-key.aes \ =C2=A0=C2=A0=C2=A0=C2=A0-machine virt-2.7,accel=3Dkvm,usb=3Doff \ =C2=A0=C2=A0=C2=A0=C2=A0-cpu host,pmu=3Doff \ =C2=A0=C2=A0=C2=A0=C2=A0-drive file=3D/usr/share/AAVMF/AAVMF_CODE.fd,if=3D= pflash,format=3Draw,unit=3D0,readonly=3Don \ =C2=A0=C2=A0=C2=A0=C2=A0-drive file=3D/var/lib/libvirt/qemu/nvram/abologn= a-rhel73_VARS.fd,if=3Dpflash,format=3Draw,unit=3D1 \ =C2=A0=C2=A0=C2=A0=C2=A0-m 2048 \ =C2=A0=C2=A0=C2=A0=C2=A0-realtime mlock=3Doff \ =C2=A0=C2=A0=C2=A0=C2=A0-smp 4,sockets=3D4,cores=3D1,threads=3D1 \ =C2=A0=C2=A0=C2=A0=C2=A0-uuid 78f74104-65f2-4faf-9faa-26107c1071ef \ =C2=A0=C2=A0=C2=A0=C2=A0-nographic \ =C2=A0=C2=A0=C2=A0=C2=A0-no-user-config \ =C2=A0=C2=A0=C2=A0=C2=A0-nodefaults \ =C2=A0=C2=A0=C2=A0=C2=A0-chardev socket,id=3Dcharmonitor,path=3D/var/lib/= libvirt/qemu/domain-5-abologna-rhel73/monitor.sock,server,nowait \ =C2=A0=C2=A0=C2=A0=C2=A0-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dco= ntrol \ =C2=A0=C2=A0=C2=A0=C2=A0-rtc base=3Dutc \ =C2=A0=C2=A0=C2=A0=C2=A0-no-shutdown \ =C2=A0=C2=A0=C2=A0=C2=A0-boot strict=3Don \ =C2=A0=C2=A0=C2=A0=C2=A0-device virtio-serial-device,id=3Dvirtio-serial0 = \ =C2=A0=C2=A0=C2=A0=C2=A0-drive file=3D/var/lib/libvirt/images/abologna-rh= el73.qcow2,format=3Dqcow2,if=3Dnone,id=3Ddrive-virtio-disk0 \ =C2=A0=C2=A0=C2=A0=C2=A0-device virtio-blk-device,scsi=3Doff,drive=3Ddriv= e-virtio-disk0,id=3Dvirtio-disk0,bootindex=3D1 \ =C2=A0=C2=A0=C2=A0=C2=A0-netdev tap,fd=3D25,id=3Dhostnet0,vhost=3Don,vhos= tfd=3D27 \ =C2=A0=C2=A0=C2=A0=C2=A0-device virtio-net-device,netdev=3Dhostnet0,id=3D= net0,mac=3D52:54:00:57:76:ad \ =C2=A0=C2=A0=C2=A0=C2=A0-serial pty \ =C2=A0=C2=A0=C2=A0=C2=A0-chardev socket,id=3Dcharchannel0,path=3D/var/lib= /libvirt/qemu/channel/target/domain-5-abologna-rhel73/org.qemu.guest_agen= t.0,server,nowait \ =C2=A0=C2=A0=C2=A0=C2=A0-device virtserialport,bus=3Dvirtio-serial0.0,nr=3D= 1,chardev=3Dcharchannel0,id=3Dchannel0,name=3Dorg.qemu.guest_agent.0 \ =C2=A0=C2=A0=C2=A0=C2=A0-msg timestamp=3Don Inside the guest, however, even with pmu=3Doff, I can still see the PMU being initialized during boot =C2=A0 # dmesg | grep -i pmu =C2=A0 [=C2=A0=C2=A0=C2=A0=C2=A00.000000] ACPI-PMU: Assign CPU 0 girq 23 = level 0 =C2=A0 [=C2=A0=C2=A0=C2=A0=C2=A00.000000] ACPI-PMU: Assign CPU 1 girq 23 = level 0 =C2=A0 [=C2=A0=C2=A0=C2=A0=C2=A00.000000] ACPI-PMU: Assign CPU 2 girq 23 = level 0 =C2=A0 [=C2=A0=C2=A0=C2=A0=C2=A00.000000] ACPI-PMU: Assign CPU 3 girq 23 = level 0 =C2=A0 [=C2=A0=C2=A0=C2=A0=C2=A00.087277] ACPI-PMU: Setting up 4 PMUs for= CPU type 0 =C2=A0 [=C2=A0=C2=A0=C2=A0=C2=A00.576255] hw perfevents: enabled with arm= v8_pmuv3 PMU driver, =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A05 counters available and perf can list the counters =C2=A0 # perf list | grep Hardware =C2=A0=C2=A0=C2=A0=C2=A0branch-misses=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0[Hardware event] =C2=A0=C2=A0=C2=A0=C2=A0cache-misses=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0[Hardware event] =C2=A0=C2=A0=C2=A0=C2=A0cache-references=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0[Hardware event] =C2=A0=C2=A0=C2=A0=C2=A0cpu-cycles OR cycles=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0[Hardware event] =C2=A0=C2=A0=C2=A0=C2=A0instructions=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0[Hardware event] =C2=A0=C2=A0=C2=A0=C2=A0L1-dcache-load-misses=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= [Hardware cache event] =C2=A0=C2=A0=C2=A0=C2=A0L1-dcache-loads=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0[Hardware cache event] =C2=A0=C2=A0=C2=A0=C2=A0L1-dcache-store-misses=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0[= Hardware cache event] =C2=A0=C2=A0=C2=A0=C2=A0L1-dcache-stores=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0[Hardware cache event] =C2=A0=C2=A0=C2=A0=C2=A0branch-load-misses=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0[Hardware cache event] =C2=A0=C2=A0=C2=A0=C2=A0branch-loads=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0[Hardware cache event] =C2=A0=C2=A0=C2=A0=C2=A0mem:[/len][:access]=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0[Hardware breakp= oint] and use them =C2=A0 # perf stat true =C2=A0=C2=A0=C2=A0Performance counter stats for 'true': =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A00= .610960=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0task-clock (msec)=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0#=C2=A0=C2=A0=C2=A0=C2=A00.102 CPU= s utilized =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A00=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0context-switches=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0#=C2=A0=C2=A0=C2=A0=C2=A00.000 K/sec =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A00=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0cpu-migrations=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0#=C2=A0=C2=A0=C2=A0=C2=A00.000 K/sec =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A024=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0pa= ge-faults=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0#=C2=A0=C2=A0=C2=A0=C2=A00.039 M/sec =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A01,383,6= 76=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0cycles=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0#=C2=A0=C2=A0=C2=A0=C2=A02.265 GHz =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0stalled-cycles-frontend =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0stalled-cycles-backend =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0396,335=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0instructions=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0#=C2= =A0=C2=A0=C2=A0=C2=A00.29=C2=A0=C2=A0insns per cycle =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0branches =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A05,536=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0branch-misses=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0#= =C2=A0=C2=A0=C2=A0=C2=A00.00% of all branches =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A00.006013060 seconds= time elapsed same way it can when using pmu=3Don or not passing any pmu=3D value to QEMU. I've tested this both on Moonshot and on ThunderX, the behavior is the same. Am I doing something wrong? --=C2=A0 Andrea Bolognani / Red Hat / Virtualization