Kernel KVM virtualization development
 help / color / mirror / Atom feed
From: Jaspal <jaspal.iiith@gmail.com>
To: kvm@vger.kernel.org
Subject: Using taskset , powertop and perf with qemu-kvm
Date: Wed, 10 Oct 2012 13:22:22 +0530	[thread overview]
Message-ID: <50752936.7070703@gmail.com> (raw)

Hello ,

I wish to run some cpu intensive tasks on a vm , use only one core 
specifically #0 of the 6 available ( Xeon 3670 ) and all the while 
record basic perf events like cpu-cycles , instructions etc.

I am using taskset to define the cpu-affinity of the qemu process :
taskset -p 0x1 `pgrep qemu` (assuming only 1 vm is running )

I can verify that the vm is now running only on core 0 using top. top 
also shows that the qemu process is using 99% of it's share of CPU time 
( %CPU column in top ) upon running the tasks in vm. However what I fail 
to see is the increase in time spent of the core 0 in the C0 ( active ) 
state via powertop. It barely manages to cross 12%. If I run the same 
tasks ( FFT benchmark ) on the host on a different core ( say #1 ) and 
monitor it using powertop again , I can see that  C0 % for core 1 is 
above 100% ( 104 ~ 107 )
So why does not the output of top ( qemu is using 99% of it's cpu time , 
which is spent on core 0 )  co-relate with powertop ( which says core 0 
is idle for around 88% of time ) ?
Also , powertop reports that core 2 is being used heavily ( 104 % ) and 
I suspect this is one which is executing the vm operations. But why ?
There are no other cpu/memory intensive tasks running on the host.

Next , I am using the perf kvm record function to save the stats. If I 
use all the 7 core counters available along-with -a option , perf 
generates ~2MB/second . Is there a way to save just the raw count of the 
events ?
Also , if instead of -a , if I give -C 0 , perf just saves around 
0.016MB/s as opposed to 1.894MB/s in case of -a option. If the vm is 
indeed using core 0 , then perf should have recorded the events.

On a last note , does perf kvm automatically selects the vm to profile ( 
in case multiple vms are running ) on the basis of the guest.kallsyms 
and guest.modules files passed to it ?

Thanks ,
Jaspal

             reply	other threads:[~2012-10-10  7:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-10  7:52 Jaspal [this message]
2012-10-10 10:08 ` Using taskset , powertop and perf with qemu-kvm Gleb Natapov
2012-10-10 12:20   ` Jaspal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50752936.7070703@gmail.com \
    --to=jaspal.iiith@gmail.com \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox