Re: [PATCH] perf tools: Fix bug for perf kvm report without guestmount.

Dongsheng Yang
2013-12-09T05:08:12Z

On 12/08/2013 11:32 PM, David Ahern wrote:
> On 12/9/13, 10:12 AM, Dongsheng Yang wrote:
>> On 12/08/2013 10:42 PM, David Ahern wrote:
>>> On 12/9/13, 8:20 AM, Dongsheng Yang wrote:
>>>> How about introduce an option named --guestpid? Then we can make the
>>>> usage of perf kvm
>>>> more clear:
>>>> * perf kvm --guestkallsyms --guestmodules --guestpid
>>>> [top|record|report]
>>>> This usage is for only one guest and will not resolve the
>>>> symbols from other guests.
>>>
>>> If there is only 1 guest then there should not be a problem right? You
>>> give perf a single guest kallsyms as the "default" and it works.
>>> --guestpid adds no value in that case.
>>
>> Yes, if there is only one guest is running, "default" guest is "the"
>> guest. Then with my patch in this thread applied, it works well.
>>
>> But consider this scenario, there are two guests are running, but we
>> need to record-report one of them.
>>
>> --guestmount can achieve this request, but as a shortcut of guestmount,
>> --guest{kallysms, modules} dose not
>> support it well, right? So, I think we can discard the default guest,
>> and use guestpid in record-report.
>
> No.
>
> Use cases:
> 1. one guest
> --guestkallsyms and --guestmodules apply to default guest; user should
> supply files that apply to the one guest. Supplying any other kallsyms
> is just nonsense. *NO* other arguments are needed.
>
> 2. more than 1 VM, *ALL* VMs running the same kernel
> --guestkallsyms and --guestmodules apply to default guest; user should
> supply files that apply to all of guests. No other arguments are needed.
>
> 3. more than 1 VM, VMs running different kernels. 1+ VMs running the
> same kernel
> --guestmount allows user to supply files that apply to all of guests
> based on pid. --guestkallsyms/guestmodules is used for any guest not
> showing up in guestmount.
>

When more than 1 VM, the cases you provided is all about record-report
the symbols from __all__ guests. How about I want to record-report one
of them?
Example:
There are 2 guests are running different kernels, I want to
record-report VM1.

Currently, we can use --guestmount to get the symbols of VM1, but we can
not remove the symbols of VM2 from report. It means the percentage of
each symbol is not the symbol only in this VM1.

What I want with introducing guestpid is to record-report the symbols
only from VM1, and ignore VM2.

> David
>
>