projects
/
lttng-modules.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: vmalloc wrapper on kernel < 2.6.38
[lttng-modules.git]
/
lttng-events.h
diff --git
a/lttng-events.h
b/lttng-events.h
index 9d775d5723d17d614547023c770ecc19ed0c8fbf..17dd8d3a3c312ef35da53f4cbbdd4aba75d4a2f7 100644
(file)
--- a/
lttng-events.h
+++ b/
lttng-events.h
@@
-27,7
+27,9
@@
#include <linux/list.h>
#include <linux/kprobes.h>
#include <linux/kref.h>
#include <linux/list.h>
#include <linux/kprobes.h>
#include <linux/kref.h>
+#include <lttng-cpuhotplug.h>
#include <wrapper/uuid.h>
#include <wrapper/uuid.h>
+#include <lttng-tracer.h>
#include <lttng-abi.h>
#include <lttng-abi-old.h>
#include <lttng-abi.h>
#include <lttng-abi-old.h>
@@
-68,9
+70,17
@@
enum channel_type {
METADATA_CHANNEL,
};
METADATA_CHANNEL,
};
+struct lttng_enum_value {
+ unsigned long long value;
+ unsigned int signedness:1;
+};
+
struct lttng_enum_entry {
struct lttng_enum_entry {
-
unsigned long long start, end;
/* start and end are inclusive */
+
struct lttng_enum_value start, end;
/* start and end are inclusive */
const char *string;
const char *string;
+ struct {
+ unsigned int is_auto:1;
+ } options;
};
#define __type_integer(_type, _size, _alignment, _signedness, \
};
#define __type_integer(_type, _size, _alignment, _signedness, \
@@
-100,7
+110,8
@@
struct lttng_integer_type {
union _lttng_basic_type {
struct lttng_integer_type integer;
struct {
union _lttng_basic_type {
struct lttng_integer_type integer;
struct {
- const char *name;
+ const struct lttng_enum_desc *desc; /* Enumeration mapping */
+ struct lttng_integer_type container_type;
} enumeration;
struct {
enum lttng_string_encodings encoding;
} enumeration;
struct {
enum lttng_string_encodings encoding;
@@
-148,11
+159,10
@@
struct lttng_type {
} u;
};
} u;
};
-struct lttng_enum {
+struct lttng_enum
_desc
{
const char *name;
const char *name;
- struct lttng_type container_type;
const struct lttng_enum_entry *entries;
const struct lttng_enum_entry *entries;
- unsigned int
len
;
+ unsigned int
nr_entries
;
};
/* Event field description */
};
/* Event field description */
@@
-175,8
+185,13
@@
union lttng_ctx_value {
* lttng_ctx_field because cpu hotplug needs fixed-location addresses.
*/
struct lttng_perf_counter_field {
* lttng_ctx_field because cpu hotplug needs fixed-location addresses.
*/
struct lttng_perf_counter_field {
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
+ struct lttng_cpuhp_node cpuhp_prepare;
+ struct lttng_cpuhp_node cpuhp_online;
+#else
struct notifier_block nb;
int hp_enable;
struct notifier_block nb;
int hp_enable;
+#endif
struct perf_event_attr *attr;
struct perf_event **e; /* per-cpu array */
};
struct perf_event_attr *attr;
struct perf_event **e; /* per-cpu array */
};
@@
-309,7
+324,7
@@
struct lttng_event {
};
enum lttng_enabler_type {
};
enum lttng_enabler_type {
- LTTNG_ENABLER_
WILDCARD
,
+ LTTNG_ENABLER_
STAR_GLOB
,
LTTNG_ENABLER_NAME,
};
LTTNG_ENABLER_NAME,
};
@@
-527,6
+542,7
@@
int lttng_session_enable(struct lttng_session *session);
int lttng_session_disable(struct lttng_session *session);
void lttng_session_destroy(struct lttng_session *session);
int lttng_session_metadata_regenerate(struct lttng_session *session);
int lttng_session_disable(struct lttng_session *session);
void lttng_session_destroy(struct lttng_session *session);
int lttng_session_metadata_regenerate(struct lttng_session *session);
+int lttng_session_statedump(struct lttng_session *session);
void metadata_cache_destroy(struct kref *kref);
struct lttng_channel *lttng_channel_create(struct lttng_session *session,
void metadata_cache_destroy(struct kref *kref);
struct lttng_channel *lttng_channel_create(struct lttng_session *session,
@@
-691,6
+707,10
@@
int lttng_add_perf_counter_to_ctx(uint32_t type,
uint64_t config,
const char *name,
struct lttng_ctx **ctx);
uint64_t config,
const char *name,
struct lttng_ctx **ctx);
+int lttng_cpuhp_perf_counter_online(unsigned int cpu,
+ struct lttng_cpuhp_node *node);
+int lttng_cpuhp_perf_counter_dead(unsigned int cpu,
+ struct lttng_cpuhp_node *node);
#else
static inline
int lttng_add_perf_counter_to_ctx(uint32_t type,
#else
static inline
int lttng_add_perf_counter_to_ctx(uint32_t type,
@@
-700,6
+720,18
@@
int lttng_add_perf_counter_to_ctx(uint32_t type,
{
return -ENOSYS;
}
{
return -ENOSYS;
}
+static inline
+int lttng_cpuhp_perf_counter_online(unsigned int cpu,
+ struct lttng_cpuhp_node *node)
+{
+ return 0;
+}
+static inline
+int lttng_cpuhp_perf_counter_dead(unsigned int cpu,
+ struct lttng_cpuhp_node *node)
+{
+ return 0;
+}
#endif
int lttng_logger_init(void);
#endif
int lttng_logger_init(void);
@@
-778,7
+810,7
@@
int lttng_kretprobes_event_enable_state(struct lttng_event *event,
}
#endif
}
#endif
-#if
def CONFIG_DYNAMIC_FTRACE
+#if
defined(CONFIG_DYNAMIC_FTRACE) && !defined(LTTNG_FTRACE_MISSING_HEADER)
int lttng_ftrace_register(const char *name,
const char *symbol_name,
struct lttng_event *event);
int lttng_ftrace_register(const char *name,
const char *symbol_name,
struct lttng_event *event);
This page took
0.024363 seconds
and
4
git commands to generate.