Commit 7397d80d authored by Tom Zanussi's avatar Tom Zanussi Committed by Frederic Weisbecker

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: default avatarTom 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: default avatarFrederic Weisbecker <fweisbec@gmail.com>
parent e26207a3
...@@ -31,13 +31,14 @@ ...@@ -31,13 +31,14 @@
#include "EXTERN.h" #include "EXTERN.h"
#include "perl.h" #include "perl.h"
#include "XSUB.h" #include "XSUB.h"
#include "../../../util/trace-event-perl.h" #include "../../../perf.h"
#include "../../../util/trace-event.h"
#ifndef PERL_UNUSED_VAR #ifndef PERL_UNUSED_VAR
# define PERL_UNUSED_VAR(var) if (0) var = var # define PERL_UNUSED_VAR(var) if (0) var = var
#endif #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); /* prototype to pass -Wmissing-prototypes */
XS(XS_Perf__Trace__Context_common_pc) XS(XS_Perf__Trace__Context_common_pc)
......
...@@ -22,7 +22,8 @@ ...@@ -22,7 +22,8 @@
#include "EXTERN.h" #include "EXTERN.h"
#include "perl.h" #include "perl.h"
#include "XSUB.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 MODULE = Perf::Trace::Context PACKAGE = Perf::Trace::Context
PROTOTYPES: ENABLE PROTOTYPES: ENABLE
......
...@@ -3286,3 +3286,18 @@ void parse_set_info(int nr_cpus, int long_sz) ...@@ -3286,3 +3286,18 @@ void parse_set_info(int nr_cpus, int long_sz)
cpus = nr_cpus; cpus = nr_cpus;
long_size = long_sz; 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);
}
...@@ -239,33 +239,6 @@ static inline struct event *find_cache_event(int type) ...@@ -239,33 +239,6 @@ static inline struct event *find_cache_event(int type)
return event; 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, static void perl_process_event(int cpu, void *data,
int size __unused, int size __unused,
unsigned long long nsecs, char *comm) unsigned long long nsecs, char *comm)
......
...@@ -44,12 +44,4 @@ void boot_DynaLoader(pTHX_ CV *cv); ...@@ -44,12 +44,4 @@ void boot_DynaLoader(pTHX_ CV *cv);
typedef PerlInterpreter * INTERP; typedef PerlInterpreter * INTERP;
#endif #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 */ #endif /* __PERF_TRACE_EVENT_PERL_H */
...@@ -279,7 +279,14 @@ struct scripting_ops { ...@@ -279,7 +279,14 @@ struct scripting_ops {
int script_spec_register(const char *spec, struct scripting_ops *ops); int script_spec_register(const char *spec, struct scripting_ops *ops);
extern struct scripting_ops perl_scripting_ops;
void setup_perl_scripting(void); 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 */ #endif /* __PERF_TRACE_EVENTS_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment