All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
To: Wang Nan <wangnan0@huawei.com>
Cc: Xinwei Hu <huxinwei@huawei.com>,
	"diamon-discuss@lists.linuxfoundation.org"
	<diamon-discuss@lists.linuxfoundation.org>,
	lttng-dev@lists.lttng.org,
	tracecompass developer discussions <tracecompass-dev@eclipse.org>
Subject: Re: [diamon-discuss] My experience on perf, CTF and TraceCompass, and some suggection.
Date: Sat, 07 Feb 2015 00:14:51 -0500	[thread overview]
Message-ID: <54D59F4B.4060608__49490.7334832989$1423286152$gmane$org@voxpopuli.im> (raw)
In-Reply-To: <54D582E9.4010709@huawei.com>

On 2015-02-06 10:13 PM, Wang Nan wrote:
>> I think such an approach could help in all 3 use cases you have presented. What do you think?
>> >
> Good to see you are looking at this problem.
>
> "Frequency analysis" you mentioned is a good viewpoint for finding outliner. However, it should not be the only one we consider. Could you please explain how "frequency analysis" can solve my first problem "finding the reason why most of CPUs are idle by matching syscalls events?"
>
> Thank you!
>

I was thinking of the automatic event matching, for example matching 
syscall_entry_* events with their corresponding syscall_exit_*. This is 
a pre-requisite of doing frequency analysis, but could be useful on its 
own. (Re-reading myself now I notice I didn't mention event matching at 
all, my bad!)

If I understand your first problem correctly, it boils down to wanting 
to identify the system call that is ongoing when a CPU is idle. And this 
is not straightforward, because the Select Next/Previous Event buttons 
in the time graph views will stop at every state transition, like CPU 
idle or IRQs, which are "in the way" of the system call entry event. 
Correct?


Now, what if we had a view that simply lists all the system calls in the 
trace? Each row would contain the complete information of a system call, 
so its start time (timestamp of the sys_entry event), end time 
(timestamp of the sys_exit event), duration, name/id, arguments, return 
value, etc.

And this view could be synchronized with the other ones, where clicking 
on a row would bring you to the corresponding syscall_entry event. And 
inversely, clicking on any timestamp would bring this view to the row 
corresponding to the system call that was active at that time, if there 
is one. I believe this could speed up your problem of identifying the 
running system call for any arbitrary point in the trace.

Also, that view could be re-used for other types of intervals, like 
IRQs, IO operations, and so on. And if the user sorts by the Duration 
column, bam, they have a sorted list of the worst offenders for longer 
system calls, IRQs, etc.


Would this be helpful?

Cheers,
Alexandre

  parent reply	other threads:[~2015-02-07  5:15 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-23  9:35 [diamon-discuss] My experience on perf, CTF and TraceCompass, and some suggection Wang Nan
2015-01-23 16:30 ` Alexandre Montplaisir
2015-01-23 16:56   ` [diamon-discuss] [lttng-dev] " Geneviève Bastien
2015-01-23 16:56   ` [diamon-discuss] " Geneviève Bastien
2015-01-31  7:14   ` Wang Nan
2015-02-04 20:24     ` Alexandre Montplaisir
2015-02-07  3:13       ` Wang Nan
2015-02-07  5:14         ` Alexandre Montplaisir
2015-02-07  7:25           ` Wang Nan
2015-02-09 20:13             ` Alexandre Montplaisir
2015-02-09 20:13             ` Alexandre Montplaisir
2015-02-10  4:55               ` Wang Nan
2015-02-10  4:55               ` Wang Nan
2015-02-10  8:02                 ` Alexandre Montplaisir
2015-02-10  8:02                 ` Alexandre Montplaisir
2015-02-07  7:25           ` Wang Nan
2015-02-07  5:14         ` Alexandre Montplaisir [this message]
2015-02-07  3:13       ` Wang Nan
2015-02-04 20:24     ` Alexandre Montplaisir
2015-02-07 13:22     ` Mathieu Desnoyers
2015-02-07 13:22     ` Mathieu Desnoyers
2015-01-31  7:14   ` Wang Nan
2015-01-23 16:30 ` Alexandre Montplaisir
2015-01-23 20:12 ` Alexandre Montplaisir
2015-01-23 20:12 ` Alexandre Montplaisir
2015-01-26  4:08   ` Wang Nan
2015-01-26  4:08   ` Wang Nan
2015-01-26 16:25 ` Jérémie Galarneau
2015-01-27  0:54   ` Wang Nan
2015-01-27  0:54   ` Wang Nan
2015-01-27  5:31     ` Jérémie Galarneau
2015-01-27  5:31     ` Jérémie Galarneau
2015-01-27  6:31       ` Wang Nan
2015-01-27  6:31       ` Wang Nan
2015-01-26 16:25 ` Jérémie Galarneau

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='54D59F4B.4060608__49490.7334832989$1423286152$gmane$org@voxpopuli.im' \
    --to=alexmonthy@voxpopuli.im \
    --cc=diamon-discuss@lists.linuxfoundation.org \
    --cc=huxinwei@huawei.com \
    --cc=lttng-dev@lists.lttng.org \
    --cc=tracecompass-dev@eclipse.org \
    --cc=wangnan0@huawei.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.