Skip to content

Commit

Permalink
perf/scripts: Move common code out of Perl-specific files
Browse files Browse the repository at this point in the history
This stuff is needed by all scripting engines; move it from the Perl
engine source to a more common place.

Signed-off-by: Tom Zanussi <tzanussi@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Keiichi KII <k-keiichi@bx.jp.nec.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <1264580883-15324-4-git-send-email-tzanussi@gmail.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
  • Loading branch information
Tom Zanussi authored and Frederic Weisbecker committed Feb 23, 2010
1 parent e26207a commit 7397d80
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 39 deletions.
5 changes: 3 additions & 2 deletions tools/perf/scripts/perl/Perf-Trace-Util/Context.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,14 @@
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
#include "../../../util/trace-event-perl.h"
#include "../../../perf.h"
#include "../../../util/trace-event.h"

#ifndef PERL_UNUSED_VAR
# define PERL_UNUSED_VAR(var) if (0) var = var
#endif

#line 41 "Context.c"
#line 42 "Context.c"

XS(XS_Perf__Trace__Context_common_pc); /* prototype to pass -Wmissing-prototypes */
XS(XS_Perf__Trace__Context_common_pc)
Expand Down
3 changes: 2 additions & 1 deletion tools/perf/scripts/perl/Perf-Trace-Util/Context.xs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
#include "../../../util/trace-event-perl.h"
#include "../../../perf.h"
#include "../../../util/trace-event.h"

MODULE = Perf::Trace::Context PACKAGE = Perf::Trace::Context
PROTOTYPES: ENABLE
Expand Down
15 changes: 15 additions & 0 deletions tools/perf/util/trace-event-parse.c
Original file line number Diff line number Diff line change
Expand Up @@ -3286,3 +3286,18 @@ void parse_set_info(int nr_cpus, int long_sz)
cpus = nr_cpus;
long_size = long_sz;
}

int common_pc(struct scripting_context *context)
{
return parse_common_pc(context->event_data);
}

int common_flags(struct scripting_context *context)
{
return parse_common_flags(context->event_data);
}

int common_lock_depth(struct scripting_context *context)
{
return parse_common_lock_depth(context->event_data);
}
27 changes: 0 additions & 27 deletions tools/perf/util/trace-event-perl.c
Original file line number Diff line number Diff line change
Expand Up @@ -239,33 +239,6 @@ static inline struct event *find_cache_event(int type)
return event;
}

int common_pc(struct scripting_context *context)
{
int pc;

pc = parse_common_pc(context->event_data);

return pc;
}

int common_flags(struct scripting_context *context)
{
int flags;

flags = parse_common_flags(context->event_data);

return flags;
}

int common_lock_depth(struct scripting_context *context)
{
int lock_depth;

lock_depth = parse_common_lock_depth(context->event_data);

return lock_depth;
}

static void perl_process_event(int cpu, void *data,
int size __unused,
unsigned long long nsecs, char *comm)
Expand Down
8 changes: 0 additions & 8 deletions tools/perf/util/trace-event-perl.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,4 @@ void boot_DynaLoader(pTHX_ CV *cv);
typedef PerlInterpreter * INTERP;
#endif

struct scripting_context {
void *event_data;
};

int common_pc(struct scripting_context *context);
int common_flags(struct scripting_context *context);
int common_lock_depth(struct scripting_context *context);

#endif /* __PERF_TRACE_EVENT_PERL_H */
9 changes: 8 additions & 1 deletion tools/perf/util/trace-event.h
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,14 @@ struct scripting_ops {

int script_spec_register(const char *spec, struct scripting_ops *ops);

extern struct scripting_ops perl_scripting_ops;
void setup_perl_scripting(void);

struct scripting_context {
void *event_data;
};

int common_pc(struct scripting_context *context);
int common_flags(struct scripting_context *context);
int common_lock_depth(struct scripting_context *context);

#endif /* __PERF_TRACE_EVENTS_H */

0 comments on commit 7397d80

Please sign in to comment.