[Top][All Lists]

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

Re: [Qemu-devel] User space vs kernel space instructions distribution.

From: Christopher Covington
Subject: Re: [Qemu-devel] User space vs kernel space instructions distribution.
Date: Wed, 22 Jul 2015 12:45:53 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Thunderbird/36.0

On 07/14/2015 04:45 AM, Peter Maydell wrote:
> On 14 July 2015 at 09:32, Shlomo Pongratz <address@hidden> wrote:
>> Hi,
>> I'm running aarm64 QEMU and I'm counting the number of instructions which
>> "belong" to user space vs kernel space. My measurements shows that 99
>> percent of instructions are in kernel space.

How are you counting? Instrumenting QEMU?

>> I've used both the address of the instructions and the EL just to be sure. I
>> also added an option to disable block chaining just to make sure that all
>> the instructions in every TB  is counted.
>> When examining some kernel's instructions against the objdump of the kernel
>> I've noticed that most of them are in interrupts/timers area.
>> Does this make sense?
>> Did someone also encountered this phenomenon?
> Depends entirely on your workload, obviously. If the system only
> boots then most instructions will be in kernel space. If the system
> is only sitting idle then it'll just be executing the kernel space
> idle loop. If you're measuring solely the section of time where
> a userspace program is doing real work with the CPU and you're
> still seeing a 99% figure then the obvious conclusion would be that
> your measurement approach is wrong...
> If your measurement instrumentation is intrusive and is significantly
> slowing down QEMU then you'll naturally find that the guest spends
> more time in timer interrupt handling, because the timer interrupts
> come in in real time, and you've just effectively reduced the speed
> of your CPU, so it can get less useful work done between timer
> interrupts.

I find such behavior undesirable. As best I understand, -icount exists to
provide an alternative, although it may have bugs. I've tinkered with -icount
a little, but I have yet to come up with useful tests to verify its correct
behavior. If anyone has suggestions for how to test it, I'd be eager to hear.


Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

reply via email to

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