Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758297Ab2FOWXj (ORCPT ); Fri, 15 Jun 2012 18:23:39 -0400 Received: from mail-gg0-f174.google.com ([209.85.161.174]:35102 "EHLO mail-gg0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758136Ab2FOWXh convert rfc822-to-8bit (ORCPT ); Fri, 15 Jun 2012 18:23:37 -0400 MIME-Version: 1.0 In-Reply-To: <3908561D78D1C84285E8C5FCA982C28F19320CC9@ORSMSX104.amr.corp.intel.com> References: <20120615170659.GA4060@lizard> <1339780111-12075-3-git-send-email-anton.vorontsov@linaro.org> <3908561D78D1C84285E8C5FCA982C28F1931FC30@ORSMSX104.amr.corp.intel.com> <1339797308.25903.8.camel@gandalf.stny.rr.com> <3908561D78D1C84285E8C5FCA982C28F1931FC85@ORSMSX104.amr.corp.intel.com> <1339798214.25903.17.camel@gandalf.stny.rr.com> <3908561D78D1C84285E8C5FCA982C28F19320CC9@ORSMSX104.amr.corp.intel.com> Date: Fri, 15 Jun 2012 15:23:36 -0700 X-Google-Sender-Auth: CoKz16fWrQGmmJg9-jWJSLCIHO0 Message-ID: Subject: Re: [PATCH 3/6] pstore: Add persistent function tracing From: Colin Cross To: "Luck, Tony" Cc: Steven Rostedt , Anton Vorontsov , Greg Kroah-Hartman , Kees Cook , Frederic Weisbecker , Ingo Molnar , Arnd Bergmann , John Stultz , Shuah Khan , "arve@android.com" , Rebecca Schultz Zavin , Jesper Juhl , Randy Dunlap , Stephen Boyd , Thomas Meyer , Andrew Morton , Marco Stornelli , WANG Cong , "linux-kernel@vger.kernel.org" , "devel@driverdev.osuosl.org" , "linaro-kernel@lists.linaro.org" , "patches@linaro.org" , "kernel-team@android.com" Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT X-System-Of-Record: true Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1798 Lines: 34 On Fri, Jun 15, 2012 at 3:19 PM, Luck, Tony wrote: >> milli-seconds for recording? This would cripple the kernel. On slow >> machines, incorporating lockdep into function tracing (and other debug >> options) causes the system to live lock. Tracing the timer interrupt >> took so long that by the time it finished, the next timer triggered >> again. > > Ah - I think I misunderstood how this works ... I thought the function > trace was taken at some point in the crash/shutdown path. ?Now I see > that it is being generated repeatedly as the kernel runs ... with the > idea that if a hang happens, you can see the last call trace that was > successful. > > Ok then - clearly this is only useful with a ram backend for pstore. > > Binary makes sense too - but I'll stick with my comment that a different > kernel must be able to do the decode. Or we need to spell out clearly > that you must have the same, or compatible kernel booted to make any > sense of the saved ftrace record. The decode also converts PCs to symbols, so for all the data to be useful you have to boot the exact same kernel. You could theoretically boot a different kernel with a compatible format, but you would have to manually extract the PCs from the dump and addr2line them against the correct vmlinux, which is probably more trouble than it's worth. Also, the binary data is stored inside a pstore_ram ringbuffer that may change formats between kernels. I would suggest documenting that this is only supposed to work booting back to the same kernel. -- 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/