All of lore.kernel.org
 help / color / mirror / Atom feed
From: Minchan Kim <minchan@kernel.org>
To: Rabin Vincent <rabin@rab.in>
Cc: Namhyung Kim <namhyung@kernel.org>, <kvm@vger.kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [QUESTION] Is there a better way to get ftrace dump on guest?
Date: Wed, 29 Jun 2016 09:57:41 +0900	[thread overview]
Message-ID: <20160629005741.GA8844@bbox> (raw)
In-Reply-To: <20160628164634.GA4202@debian>

Hello,

On Tue, Jun 28, 2016 at 06:46:34PM +0200, Rabin Vincent wrote:
> On Tue, Jun 28, 2016 at 03:33:18PM +0900, Namhyung Kim wrote:
> > On Tue, Jun 28, 2016 at 3:25 PM, Namhyung Kim <namhyung@kernel.org> wrote:
> > > I'm running some guest machines for kernel development.  For debugging
> > > purpose, I use lots of trace_printk() since it's faster than normal
> > > printk().  When kernel crash happens the trace buffer is printed on
> > > console (I set ftrace_dump_on_oops) but it takes too much time.  I
> > > don't want to reduce the size of ring buffer as I want to collect the
> > > debug info as much as possible.  And I also want to see trace from all
> > > cpu so 'ftrace_dump_on_oop = 2' is not an option.
> > >
> > > I know the kexec/kdump (and the crash tool) can dump and analyze the
> > > trace buffer later.  But it's cumbersome to do it everytime and more
> > > importantly, I don't want to spend the memory for the crashkernel.
> 
> Assuming you're using QEMU:
> 
> QEMU has a dump-guest-memory command which can be used to dump the
> guest's entire memory to an ELF which can be loaded by the crash utility
> to extract the trace buffer.  This doesn't require kexec/kdump or any
> other support from the guest kernel.

Thanks for the hint. It's surely handy rather than kexec/kdump.

A question is that it's possible to capture guest's entire memory
when guest kernel is oops?
I mean I don't want to capture alive guest but get snapshot image
when guest kernel encounters BUG_ON and see event trace from the
image.

Anyway, I tried crashtool and load trace.so but failed to load
extension module 'trace.so' because read_string failed in
ftrace_get_event_type_name of trace.c.
Does it work with recent kernel?

My kernel is 4.7.0-rc4-mm1.

> 
> It's apparently even possible to run QEMU with the guest memory in a
> file and load that to crash directly, although this is not something
> I've had a chance to try out myself:
> 
> https://github.com/crash-utility/crash/commit/89ed9d0a7f7da4578294a492c1ad857244ce7352

  reply	other threads:[~2016-06-29  0:58 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-28  6:25 [QUESTION] Is there a better way to get ftrace dump on guest? Namhyung Kim
2016-06-28  6:33 ` Namhyung Kim
2016-06-28 13:57   ` Steven Rostedt
2016-06-29  0:52     ` Namhyung Kim
2016-07-01  4:27       ` Namhyung Kim
2016-06-28 16:46   ` Rabin Vincent
2016-06-29  0:57     ` Minchan Kim [this message]
2016-06-29  1:26       ` Steven Rostedt
2016-07-01  4:05         ` Namhyung Kim
2016-06-29  1:49     ` Namhyung Kim

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=20160629005741.GA8844@bbox \
    --to=minchan@kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=namhyung@kernel.org \
    --cc=rabin@rab.in \
    --cc=rostedt@goodmis.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.