projects
/
ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Convert buffering system to per-cpu
[ust.git]
/
libust
/
tracer.h
diff --git
a/libust/tracer.h
b/libust/tracer.h
index 58aae583c6aa67d34684f5c8f896ce5116c214ab..b1fbf107c0ae7beba094729ee5ba4144f04345fc 100644
(file)
--- a/
libust/tracer.h
+++ b/
libust/tracer.h
@@
-32,6
+32,7
@@
#include "channels.h"
#include "tracercore.h"
#include <ust/marker.h>
#include "channels.h"
#include "tracercore.h"
#include <ust/marker.h>
+#include <ust/probe.h>
/* Number of bytes to log with a read/write event */
#define LTT_LOG_RW_SIZE 32L
/* Number of bytes to log with a read/write event */
#define LTT_LOG_RW_SIZE 32L
@@
-55,12
+56,6
@@
struct ltt_active_marker;
struct ltt_serialize_closure;
struct ltt_probe_private_data;
struct ltt_serialize_closure;
struct ltt_probe_private_data;
-/* Serialization callback '%k' */
-typedef size_t (*ltt_serialize_cb)(struct ust_buffer *buf, size_t buf_offset,
- struct ltt_serialize_closure *closure,
- void *serialize_private, int *largest_align,
- const char *fmt, va_list *args);
-
struct ltt_serialize_closure {
ltt_serialize_cb *callbacks;
long cb_args[LTT_NR_CALLBACKS];
struct ltt_serialize_closure {
ltt_serialize_cb *callbacks;
long cb_args[LTT_NR_CALLBACKS];
@@
-72,14
+67,6
@@
extern size_t ltt_serialize_data(struct ust_buffer *buf, size_t buf_offset,
void *serialize_private,
int *largest_align, const char *fmt, va_list *args);
void *serialize_private,
int *largest_align, const char *fmt, va_list *args);
-struct ltt_available_probe {
- const char *name; /* probe name */
- const char *format;
- marker_probe_func *probe_func;
- ltt_serialize_cb callbacks[LTT_NR_CALLBACKS];
- struct list_head node; /* registered probes list */
-};
-
struct ltt_probe_private_data {
struct ltt_trace_struct *trace; /*
* Target trace, for metadata
struct ltt_probe_private_data {
struct ltt_trace_struct *trace; /*
* Target trace, for metadata
@@
-125,7
+112,7
@@
enum marker_id {
/* static ids 0-1 reserved for internal use. */
#define MARKER_CORE_IDS 2
/* static ids 0-1 reserved for internal use. */
#define MARKER_CORE_IDS 2
-static
inline
enum marker_id marker_id_type(uint16_t id)
+static
__inline__
enum marker_id marker_id_type(uint16_t id)
{
if (id < MARKER_CORE_IDS)
return (enum marker_id)id;
{
if (id < MARKER_CORE_IDS)
return (enum marker_id)id;
@@
-146,7
+133,7
@@
struct ltt_trace_ops {
void **transport_data, size_t data_size,
size_t *slot_size, long *buf_offset, u64 *tsc,
unsigned int *rflags,
void **transport_data, size_t data_size,
size_t *slot_size, long *buf_offset, u64 *tsc,
unsigned int *rflags,
- int largest_align);
+ int largest_align
, int cpu
);
//ust// void (*commit_slot) (struct ltt_channel_struct *channel,
//ust// void **transport_data, long buf_offset,
//ust// size_t slot_size);
//ust// void (*commit_slot) (struct ltt_channel_struct *channel,
//ust// void **transport_data, long buf_offset,
//ust// size_t slot_size);
@@
-167,7
+154,7
@@
struct ltt_trace_ops {
void (*remove_channel) (struct ust_channel *channel);
void (*user_errors) (struct ltt_trace_struct *trace,
unsigned int index, size_t data_size,
void (*remove_channel) (struct ust_channel *channel);
void (*user_errors) (struct ltt_trace_struct *trace,
unsigned int index, size_t data_size,
- struct user_dbg_data *dbg);
+ struct user_dbg_data *dbg
, unsigned int cpu
);
} ____cacheline_aligned;
struct ltt_transport {
} ____cacheline_aligned;
struct ltt_transport {
@@
-292,7
+279,7
@@
struct ltt_subbuffer_header {
* structure because gcc generates inefficient code on some architectures
* (powerpc, mips..)
*/
* structure because gcc generates inefficient code on some architectures
* (powerpc, mips..)
*/
-static
inline
size_t ltt_subbuffer_header_size(void)
+static
__inline__
size_t ltt_subbuffer_header_size(void)
{
return offsetof(struct ltt_subbuffer_header, header_end);
}
{
return offsetof(struct ltt_subbuffer_header, header_end);
}
@@
-316,7
+303,7
@@
static inline size_t ltt_subbuffer_header_size(void)
* The payload must itself determine its own alignment from the biggest type it
* contains.
* */
* The payload must itself determine its own alignment from the biggest type it
* contains.
* */
-static
inline
unsigned char ust_get_header_size(
+static
__inline__
unsigned char ust_get_header_size(
struct ust_channel *channel,
size_t offset,
size_t data_size,
struct ust_channel *channel,
size_t offset,
size_t data_size,
@@
-368,7
+355,7
@@
static inline unsigned char ust_get_header_size(
*
* returns : offset where the event data must be written.
*/
*
* returns : offset where the event data must be written.
*/
-static
inline
size_t ltt_write_event_header(struct ltt_trace_struct *trace,
+static
__inline__
size_t ltt_write_event_header(struct ltt_trace_struct *trace,
struct ust_buffer *buf, long buf_offset,
u16 eID, size_t event_size,
u64 tsc, unsigned int rflags)
struct ust_buffer *buf, long buf_offset,
u16 eID, size_t event_size,
u64 tsc, unsigned int rflags)
@@
-461,7
+448,7
@@
static inline size_t ltt_write_event_header(struct ltt_trace_struct *trace,
*
* Return : -ENOSPC if not enough space, else 0.
*/
*
* Return : -ENOSPC if not enough space, else 0.
*/
-static
inline
int ltt_reserve_slot(
+static
__inline__
int ltt_reserve_slot(
struct ltt_trace_struct *trace,
struct ust_channel *channel,
void **transport_data,
struct ltt_trace_struct *trace,
struct ust_channel *channel,
void **transport_data,
@@
-470,11
+457,11
@@
static inline int ltt_reserve_slot(
long *buf_offset,
u64 *tsc,
unsigned int *rflags,
long *buf_offset,
u64 *tsc,
unsigned int *rflags,
- int largest_align)
+ int largest_align
, int cpu
)
{
return trace->ops->reserve_slot(trace, channel, transport_data,
data_size, slot_size, buf_offset, tsc, rflags,
{
return trace->ops->reserve_slot(trace, channel, transport_data,
data_size, slot_size, buf_offset, tsc, rflags,
- largest_align);
+ largest_align
, cpu
);
}
}
@@
-605,12
+592,6
@@
extern void ltt_core_unregister(void);
extern void ltt_release_trace(struct kref *kref);
extern void ltt_release_transport(struct kref *kref);
extern void ltt_release_trace(struct kref *kref);
extern void ltt_release_transport(struct kref *kref);
-extern int ltt_probe_register(struct ltt_available_probe *pdata);
-extern int ltt_probe_unregister(struct ltt_available_probe *pdata);
-extern int ltt_marker_connect(const char *channel, const char *mname,
- const char *pname);
-extern int ltt_marker_disconnect(const char *channel, const char *mname,
- const char *pname);
extern void ltt_dump_marker_state(struct ltt_trace_struct *trace);
extern void ltt_lock_traces(void);
extern void ltt_dump_marker_state(struct ltt_trace_struct *trace);
extern void ltt_lock_traces(void);
This page took
0.024843 seconds
and
4
git commands to generate.