Messages in this thread | | | Subject | LTT patch for 2.6.16 | From | Samo Pogacnik <> | Date | Mon, 03 Jul 2006 21:59:59 +0200 |
| |
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
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |