Subject: Re: linux-next: manual merge of the tip tree with the kgdb tree

From: Jason Wessel <[email-masked]>
Date: Thu, 14 Jan 2010 09:01:40 -0600

Ingo Molnar wrote:
> * Stephen Rothwell <[email-masked]> wrote:
>
>   
>> Hi all,
>>
>> Today's linux-next merge of the tip tree got a conflict in
>> kernel/trace/trace.c between commit
>> d304af88a0105ff5b64cffc9108636ecad1fdd78 ("ftrace,kdb: Extend kdb to be
>> able to dump the ftrace buffer") from the kgdb tree and commit
>> 7e53bd42d14c75192b99674c40fcc359392da59d ("tracing: Consolidate
>> protection of reader access to the ring buffer") from the tip tree.
>>     
>
> Hm, Jason, what is that large commit to kernel/trace/ doing in the KGDB tree, 
> without any apparent acks from the affected people?
>   

I had been corresponding with Steven Rostedt directly.  This is actually
the 3rd iteration of the patch (the first two never got checked in
anywhere) and there is still an outstanding question, which I will
inline at the bottom of this email.  The ftdump patch is at the very end
of the kdb series, because this patch will get nuked if Steven or anyone
else has a problem with it.

As for what the patch does, it is routine for dumping the ftrace buffer
while in the kernel debugger context.

> I dont see it anywhere on lkml nor in my mbox. Please submit it to the 
> affected maintainers - for the Cc: line see the output of:
>   

The v2 version of the kdb  series was supposed to go out yesterday
morning (also known as kdb_prototype11).   The new patch is included in
the post, look for: "[PATCH 40/40] ftrace,kdb: Extend kdb to be able to
dump the ftrace buffer"

-- prior inlined correspondence --

Steven Rostedt wrote:

> > On Tue, 2010-01-05 at 23:57 -0600, Jason Wessel wrote:
>   
>> >> Here is another try at adding a dump function for kdb.  I had to
>> >> changes some of the static -> global scope in kernel/trace/trace.c in
>> >> order to be able to reference other semi-private via "trace.h".
>>     
> > 
> > Actually, could you write access functions instead. If we make these
> > items global in scope, then others will just start accessing them
> > directly. I've had this issue before because others have tried to make
> > the global_trace visible by all. But that variable may disappear and
> > break all that use it.
> > 
>   

Thanks for the insight.

Here is v3.

I added a function called trace_init_global_iter().  I'll rename it if
you like.  I also changed the ftrace_dump() to make use of it as well
so we are more likely to see an issue when it changes if there are
more consumers of the function.

The other question it brings up is if you want a helper function for
the atomic_inc / atomic_dec of the tracing cpus.  That would move that
for_each_tracing_cpu macro back into trace.c.

Thanks,
Jason.

[..patch clipped..]