lkml.org 
[lkml]   [2013]   [Apr]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: systemtap broken by removal of register_timer_hook
On Fri, Apr 19, 2013 at 10:46:55AM -0400, Frank Ch. Eigler wrote:
> Hi, Frederic -
>
>
> > > How about this?
> > >
> > > Author: Frank Ch. Eigler <fche@redhat.com>
> > > Date: Wed Apr 3 10:35:21 2013 -0400
> > >
> > > profiling: add profile_tick tracepoint
> > > [...]
>
> > It would be better not to tie this to CONFIG_PROFILING.
> > A tracepoint in update_process_times() instead would be great but it's
> > sometimes called several times in a tick from some archs.
> > Probably we need something like:
> >
> > static inline tick_trace(struct pt_regs *regs)
> > {
> > trace_timer_tick(regs);
> > profile_tick(CPU_PROFILING);
> > }
>
> I looked into this, but found no natural place to define such an
> inline function from which to call into a tracepoint, without having
> to #include the <event/FOO.h> file many times.

You could include it from linux/profile.h or linux/tick.h and
define profile_tick to "{ trace_tick(); __profile_tick()}" .

But in a second thought, using a tracepoint in a general purpose header
resulted in bad circular headers dependency in the past, we had bitter
experiences with trace_softirq_raise for example.

> Nor does it seem
> appropriate to do the identical #define CREATE_TRACE_POINTSw part from
> all the different arch/.../*.c files that may call into that inline.
>
> If you'd like to stick to this idea, please advise further where you
> think the tracepoint definition & declarations should go.
>
> In the alternative, here is v2 of the patch, just changing the
> tracepoint-printing argument as suggested by jistone.

But your tracepoint still depends on CONFIG_PROFILING and I would
really like to avoid that.

How about creating trace_tick() in include/trace/events/timer.h
and call it from tick_periodic() and tick_sched_handle().

This only leaves the archs that don't support generic clockevents
behind. This should be no big deal, they can integrate this tracepoint
later if they need to.

Thanks.


\
 
 \ /
  Last update: 2013-04-30 02:41    [W:0.311 / U:0.300 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site