From: pierre-marc.fournier@polymtl.ca (Pierre-Marc Fournier)
Subject: [ltt-dev] UST use case: Tracing QEMU/KVM
Date: Wed, 26 May 2010 18:46:22 -0400 [thread overview]
Message-ID: <4BFDA4BE.4020400@polymtl.ca> (raw)
In-Reply-To: <AANLkTinVlM-03onbGD5LmJuNdqoXLRLJwn25FiDDnGRI@mail.gmail.com>
Stefan Hajnoczi wrote:
> On Mon, May 24, 2010 at 4:57 AM, Pierre-Marc Fournier
> <pierre-marc.fournier at polymtl.ca> wrote:
>
> Thanks for the quick reply, Pierre-Marc.
>
>> If there are specific subjects in mind you feel would benefit from being covered in more depth in the manual, please let me know.
>
> For large programs or programs that closely manage resources, a
> documented list of resources that libust uses would be useful. This
> information can be used to understand whether libust might interfere
> with the program being traced. For example, will heap allocations be
> made after startup? Will file descriptors be held open? The listener
> thread?
Currently, ust is designed to be transparent to the running process in
most cases. However, if your program makes very unusual assumptions
about the usage of some resources, this could result in a conflict.
- Yes, heap allocations can be made after startup.
- Sockets will definitely be kept open by the listener thread.
- Currently, I don't think any file descriptors are kept open, but it
could be the case in the future.
- SystemV shared memory segments are mapped in the address space.
- A listener thread is always started to wait for connections from
ustctl or ustd.
If you feel it would be important to avoid some of these things, please
let me know.
>
> I don't understand the --create-trace, --alloc-trace, --destroy-trace,
> and subbuf concepts that ustctl exposes. Perhaps these are documented
> in kernel LTTng and I haven't read that.
Normally you should not need to go to LTTng kernel tracer documentation
to understand.
I just pushed an updated manpage for ustctl in the git which clarifies
these concepts. If you think things could be even clearer, let me know.
>
>>> One note about the manual: the TP_PROTO() versus TPPROTO() change was
>>> confusing. Perhaps a note can be added to the manual that ust.git
>>> uses TP_PROTO() but libust 0.4 uses TPPROTO()?
>> This reflects an API change in the kernel. But you are right, this is confusing. I will do a 0.5 release next week, which will obsolete 0.4 and sync the manual.
>
> Thanks.
>
>>> poll([{fd=3, events=POLLIN}], 1, -1) = ? ERESTART_RESTARTBLOCK (To
>>> be restarted)
>>> restart_syscall(<... resuming interrupted call ...>) = ?
>>> ERESTART_RESTARTBLOCK (To be restarted)
>> Hmmm. Do you have any pointers to documentation about this return code? I suspect userspace should never see it. Could it be a kernel bug?
>
> I have sent an example that triggers this behavior and explains how it
> can occur.
>
Will look at this shortly.
next prev parent reply other threads:[~2010-05-26 22:46 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-23 19:54 Stefan Hajnoczi
2010-05-24 3:57 ` Pierre-Marc Fournier
2010-05-24 9:00 ` Stefan Hajnoczi
2010-05-26 22:46 ` Pierre-Marc Fournier [this message]
2010-05-27 5:21 ` Stefan Hajnoczi
2010-05-27 19:36 ` Pierre-Marc Fournier
2010-05-27 20:22 ` Stefan Hajnoczi
2010-05-27 20:26 ` Mathieu Desnoyers
2010-05-24 8:41 Stefan Hajnoczi
2010-05-27 16:08 ` Pierre-Marc Fournier
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=4BFDA4BE.4020400@polymtl.ca \
--to=pierre-marc.fournier@polymtl.ca \
/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