From: Samo Pogacnik <samo_pogacnik@t-2.net>
To: linux-kernel@vger.kernel.org
Subject: LTT patch for 2.6.16
Date: Mon, 03 Jul 2006 21:59:59 +0200 [thread overview]
Message-ID: <1151956800.3466.22.camel@racek> (raw)
If someone is interested, here is modified version of the 2.6.9/10 ltt
patch for the newer 2.6.16 kernel. This kernel now supports (simplified)
relayfs implementation, which has been used by this patch. Patch is
still far from being complete and bug free, but looks usable to me on my
i386 Nehemiah target, together with a slightly modified ltt-0.9.6-pre5
userspace tracing tools.
Patch URL: http://84.255.254.67/ltt-linux-2.6.16.patch
Tools URL: http://84.255.254.67/ltt-0.9.6-pre5.tar.gz
Current status of functionality:
0. Current patch only supports i386 architecture specifics, since I
wanted to limit the area of needed modifications and I would like to
explore if it is sensible to remove all those spreaded trace points
around the kernel by using different mechanism. Anyway, at current state
other architectures should not be to difficult to add, by adjusting
arcitecture specifics of the 2.6.9 ltt kernel patch, for example.
1. Locking and lockless options of the tracedaemon tool result in the
same operation within the kernel, except for the different startup
requirements mostly enforced by original tracedaemon. Basicaly subbuffer
switches (together with writing start buffer and end buffer events) and
subbuffer space reservation for each event are being hopefully protected
with a spinlock.
2. Multiple starting and stopping of collecting events has been
protected and synchronised via an extra semaphore.
3. Timestamping works via gettimaofday (defined as generic) and via TSC
counter on i386 (defined as arch specific). This functionality was
collected in separate files, that can be patched and used separately
from ltt.
4. Works in either tracer (tracedaemon running for the time duration
specified - no subbuffer overwrite) or flight recorder (tracedaemon run
just to collect current buffer content of circular subbuffers -
overwrite relayfs operation) tracing mode.
5. Only one tracer started at once.
6. SMP - per cpu files need to be checked and cleaned.
7. Both tracer and flight recorder modes collect all events by default.
8. Custom events can be seen in both tracing modes.
If something has not been done correctly, please let me know.
Finally, many thanks to original authors of LTT as well as to all Linux
community for the oportunity to use, modify and learn from your source
code.
regards, Samo
reply other threads:[~2006-07-03 19:51 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=1151956800.3466.22.camel@racek \
--to=samo_pogacnik@t-2.net \
--cc=linux-kernel@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
all inboxes | Powered by JetHome®