linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jason Baron <jbaron@redhat.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Ezequiel Garcia <elezegarcia@gmail.com>,
	linux-kernel@vger.kernel.org, Pekka Enberg <penberg@kernel.org>,
	tim.bird@am.sony.com, lizefan@huawei.com,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Ingo Molnar <mingo@redhat.com>
Subject: Re: [RFC PATCH 1/1] trace: Move trace event enable from fs_initcall to early_initcall
Date: Fri, 17 Aug 2012 16:34:09 -0400	[thread overview]
Message-ID: <20120817203408.GA19689@redhat.com> (raw)
In-Reply-To: <1345214379.3708.29.camel@gandalf.local.home>

On Fri, Aug 17, 2012 at 10:39:39AM -0400, Steven Rostedt wrote:
> On Fri, 2012-08-17 at 11:04 -0300, Ezequiel Garcia wrote:
> > On Fri, Aug 17, 2012 at 10:55 AM, Steven Rostedt <rostedt@goodmis.org> wrote:
> > > On Fri, 2012-08-17 at 08:01 -0300, Ezequiel Garcia wrote:
> > >
> > >> Regarding the 'complete solution': to be able to capture events from
> > >> the very beggining...
> > >> Have you thought about this?
> > >> Could you give me a hint on how could I implement it?
> > >
> > > How far in the "beginning"? Before memory is set up?
> > 
> > Yes.
> > 
> > > I wouldn't do that.
> > 
> > Yeah, perhaps it sounds crazy. It makes some sense for kmem events, though.
> 
> It doesn't sound crazy, because I've done it before. There may be ways
> to do it.
> 
> > 
> > > I have in the past (set up before memory was finished being
> > > initialized), but things have changed since then.
> > >
> > > One thing that we could do for those that want really early tracing, is
> > > to add a config option to add a static temporary ring buffer, that gets
> > 
> > Yes, something like this would be ideal. How would this ring buffer be
> > allocated?
> > Perhaps as static and __initdata?
> 
> Yes.
> 
> > This way it would be released afterwards, right?
> 
> Correct.
> 
> > 
> > > copied into the default ring buffer after memory is set up. That may be
> > > the easiest way.
> > >
> > > Once memory is set up, the ring buffer can be allocated and events can
> > > be traced, but the ring buffer needs to be set up first. All it would
> > > take is some calls in init/main.c start_kernel() to the initialization.
> > >
> > 
> > Note that my main concern is on trace_events (kmem events to be precise).
> > However this are registered through tracepoints and in turn this tracepoints
> > depend on kmalloc and friends. So, right now is a chicken-egg problem.
> 
> I don't think kmalloc is the issue. The big problem in front of you is
> jump labels. That's what enables and disables trace points, and it gets
> initialized just after memory is set up. You may have to force jump
> labels off when doing early tracing :-/ Although I'm not sure it
> requires allocations.
> 

The only allocation jump labels should do is when modules are loaded. So
I think you should be able to move them earlier, if need be.

Thanks,

-Jason

  reply	other threads:[~2012-08-17 20:34 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-15 15:18 [RFC PATCH 1/1] trace: Move trace event enable from fs_initcall to early_initcall Ezequiel Garcia
2012-08-16 21:18 ` Steven Rostedt
2012-08-17 11:01   ` Ezequiel Garcia
2012-08-17 13:55     ` Steven Rostedt
2012-08-17 14:04       ` Ezequiel Garcia
2012-08-17 14:39         ` Steven Rostedt
2012-08-17 20:34           ` Jason Baron [this message]
2012-08-24 11:53           ` Ezequiel Garcia

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=20120817203408.GA19689@redhat.com \
    --to=jbaron@redhat.com \
    --cc=elezegarcia@gmail.com \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=mingo@redhat.com \
    --cc=penberg@kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=tim.bird@am.sony.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).