|
Subject: LTT for 2.6.19 Newsgroups: gmane.linux.kernel Date: 2007-01-12 00:48:15 GMT (2 years, 24 weeks, 6 days, 7 hours and 58 minutes ago) Hi, I'd like to introduce oldstyle ltt patches and tools supporting kernel 2.6.19. Beside support for newer kernel, there are other changes within these patches and tools: - storing descriptions of custom events in flight recording mode outside subbuffers (not to be overwriten in circular buffers), - way of timestamping (no more time deltas), - removed procfs usage for control, - initial implementation of static kernel markers (currently just for LTT), which does not change original kernel sources at any time. Links: base - http://84.255.254.67/linux-2.6.19-ltt-base.patch markers - http://84.255.254.67/linux-2.6.19-ltt-markers.patch tools - http://84.255.254.67/ltt-0.9.6-pre8.tar.gz Remark: New shell script files setmarker, createmarker and recreatemarkers under scripts directory need to be set as executables manually after patching the kernel with LTT base patch. - about custom events: There was a problem of overwritting descriptions of new custom events in flight recording mode, since those descriptions were stored sequentialy as any other ltt events in circular subbuffers. If descriptions were overwritten, collected custom events coud not be recognised. By storing descriptions outside subbuffers (in reley_reserved area if configured), these descriptions are being dumped inside the first dummy subbuffer. This dummy subbuffer has always been created at trace dump time in flight recording mode anyway and is almost empty. -about timestamping: I wanted to simplify things by using any kind of monotonic time within the system, which does not overflow in the reasonable lifetime of the system (even for an embedded type of application, which could be required to run for years without reboot). do_gettimeofday has already been such clock and for less overhead timestamping the complete 64 bits of TSC were used converted into nanoseconds. Luckily both clocks return 64 bit values, so a union of both types has been used for all ltt events to store its timestamp. In TSC mode sched_clock() is called to convert TSC values into nsecs and to be open for other architectures with TSC compareable counters (e.g. TB in ppc) in their sched_clock() functions. - about static kernel markers: This is an idea which came out of long running debates (many thanks to all involved |
|
|