Re: Understanding LTT
"VomLehn, David" <[email protected]> Tue, 14 Aug 2007 11:42:50 -0700
| Newsgroups | gmane.linux.kernel.tracing |
|---|---|
| Message-ID | <D331130DD3DA194B96EF57DA3415F50A016DC5DD@SAUSCUPEXCH01.corp.sa.net> |
The plan is for this to be part of our release, so the answer is yes. -- David VomLehn, Staff O/S Software Engineer Scientific Atlanta, A Cisco Company 10590 N. Tantau Avenue, Cupertino, CA 95014 [email protected] voice: 408-777-5052 fax: 408-777-0176 > -----Original Message----- > From: Maxim Uvarov [mailto:[email protected]] > Sent: Tuesday, August 14, 2007 5:00 AM > To: VomLehn, David > Cc: Mathieu Desnoyers; [email protected] > Subject: Re: [Ltt-dev] Understanding LTT > > VomLehn, > > You have very interesting task. Will you push it to open > source when development will be done? > > > > VomLehn, David wrote: > > >I probably haven't been clear enough. I'm working on an > embedded system > >with a watchdog/deadman timer. If I don't write to the > watchdog timer > >register often enough, the watchdog resets my system. When my system > >resets I do not have the ability to dump core. So, what I want to do > >instead is to write tracing information to a reserved > section of memory > >that will not get overwritten when my system is rebooted. After I > >reboot, I can easily dump the contents of the reserved section of > >memory to a file. > > > >From looking at the code, it appears as though it should be > relatively > >straightforward to replace to relayfs/debugfs transport layer with a > >different transport layer that writes to buffers in the reserved > >section of memory. In fact, it looks like a good approach is > probably > >to take the ltt-relay.c code and remove anything which allocates > >buffers with kmalloc and just use pointers into the reserved > section of memory. > >Unfortunately, there is very little documentation in this > file, and I > >am concerned I may wind up with something that just doesn't work and > >little clue on what went wrong. > > > >Documentation on the the following would be helpful: > >o What is a subbuffer and how are they used? > >o What are the parameters and return codes of the functions in > >ltt-relay.c? > >o What is the purpose of separate having separate facilities? > >o What is the relationship beteen ltt_channel_struct and > > ltt_channel_buf_struct types? > >o Is it possible to support multiple transport type > >simultaneously? > >o Is it possible to independently add and remove multiple probes, > >with > > different transports, for a single mark? > >-- > >David VomLehn, Staff O/S Software Engineer Scientific > Atlanta, A Cisco > >Company 10590 N. Tantau Avenue, Cupertino, CA 95014 > >[email protected] > >voice: 408-777-5052 fax: 408-777-0176 > > > > > > > > > > > >>-----Original Message----- > >>From: Maxim Uvarov [mailto:[email protected]] > >>Sent: Friday, August 10, 2007 10:28 AM > >>To: Mathieu Desnoyers > >>Cc: VomLehn, David; [email protected] > >>Subject: Re: [Ltt-dev] Understanding LTT > >> > >>Mathieu Desnoyers wrote: > >> > >> > >> > >>>* VomLehn, David ([email protected]) wrote: > >>> > >>> > >>> > >>> > >>>>I am looking at LTT as a good starting point to recording > >>>> > >>>> > >>traces for > >> > >> > >>>>post-crash analysis. Unlike what most people are doing, I am > >>>>developing for an embedded system which has no place to > >>>> > >>>> > >>store a crash > >> > >> > >>>>dump. My approach is to write the traces to "reserved" > memory that > >>>>won't be cleared when the system comes back up. To do this, > >>>> > >>>> > >>it looks > >> > >> > >>>>like the approach would be to use flight recorder mode on buffers > >>>>allocated in the reserved areas. Trying to figure out where > >>>> > >>>> > >>to splice > >> > >> > >>>>into LTT to do this, however, is somewhat time-consuming as > >>>> > >>>> > >>there is > >> > >> > >>>>less documentation in the code than I would prefer. From > what I can > >>>>gather, the LTT code looks designed so that it might > >>>> > >>>> > >>accommodate a new > >> > >> > >>>>transport layer that I could write to do while I want. > >>>> > >>>>Is there documentation on LTT buffer allocation outside of > >>>> > >>>> > >>the code to > >> > >> > >>>>which I might refer, or can someone give me a few tips on > where to > >>>>start? Alternatively, is there a better approach that someone can > >>>>think of? > >>>> > >>>> > >>>> > >>>> > >>>> > >>>Yep, it seems like MontaVista's work will find quick use.. I > >>> > >>> > >>put you in > >> > >> > >>>contact with Maxim Uvarov who is currently implementing a > >>> > >>> > >>kernel crash > >> > >> > >>>dump trace buffers extractor. I worked with him to get the > >>> > >>> > >>buffer order > >> > >> > >>>right and to create the ltt_write_commit_count() function > that will > >>>give the next versions of LTTng the ability to have a > >>> > >>> > >>readable "last" > >> > >> > >>>buffer, > >>>meaning: the last subbuffer being written when the system > >>> > >>> > >>crash will be > >> > >> > >>>readable by LTTV. > >>> > >>>Basically, what you want is to take a snapshot of your > "hot" memory > >>>once the kernel has rebooted and tweak Maxim's tools to > extract the > >>>buffers from the kernel memory dump. > >>> > >>>Mathieu > >>> > >>> > >>> > >>> > >>The best way to do it is to copy ltt buffers from /proc/vmcore. I'v > >>attached cross-crash extension that allows to do it. You > can use kdump > >>or lkcd feature to take vmcore. > >> > >> > >> > >>> > >>> > >>> > >>> > >>>>-- > >>>>David VomLehn, Staff O/S Software Engineer Scientific > >>>> > >>>> > >>Atlanta, A Cisco > >> > >> > >>>>Company 10590 N. Tantau Avenue, Cupertino, CA 95014 > >>>>[email protected] <mailto:[email protected]> > >>>>voice: 408-777-5052 fax: 408-777-0176 > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> - - - - - Appended by Scientific Atlanta, a Cisco > >>>> > >>>> > >>company - - - - > >> > >> > >>>>- This e-mail and any attachments may contain information > which is > >>>>confidential, proprietary, privileged or otherwise > >>>> > >>>> > >>protected by law. > >> > >> > >>>>The information is solely intended for the named addressee (or a > >>>>person responsible for delivering it to the addressee). If > >>>> > >>>> > >>you are not > >> > >> > >>>>the intended recipient of this message, you are not authorized to > >>>>read, print, retain, copy or disseminate this message or > >>>> > >>>> > >>any part of > >> > >> > >>>>it. If you have received this e-mail in error, please > >>>> > >>>> > >>notify the sender immediately by return e-mail and delete > it from your > >>computer. > >> > >> > >>>>_______________________________________________ > >>>>Ltt-dev mailing list > >>>>[email protected] > >>>>http://listserv.shafik.org/mailman/listinfo/ltt-dev > >>>> > >>>> > >>>> > >>>> > >>> > >>> > >>> > >>> > >> > >> >