perf/scripts: Move common code out of Perl-specific files

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>
This commit is contained in:
Tom Zanussi 2010-01-27 02:27:54 -06:00 committed by Frederic Weisbecker
parent e26207a381
commit 7397d80ddd
6 changed files with 28 additions and 39 deletions

View File

@ -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)

View File

@ -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

View File

@ -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);
}

View File

@ -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)

View File

@ -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 */

View File

@ -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 */