X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=libust%2Fltt-probes.c;h=5b3a0cb217c208878d957f114aae2c7cf787b1bb;hb=8d8a24c8565ce6dce7e7bd1045a95d1d2af5e536;hp=789d8bd0a64fd92fea4d222975c9318dd9ec1a8c;hpb=2432c3c9bdce3c94632f7c619165ab1278a69551;p=lttng-ust.git diff --git a/libust/ltt-probes.c b/libust/ltt-probes.c index 789d8bd0..5b3a0cb2 100644 --- a/libust/ltt-probes.c +++ b/libust/ltt-probes.c @@ -8,13 +8,13 @@ * Dual LGPL v2.1/GPL v2 license. */ -#include -#include -#include -#include +#include +#include +#include +#include #include -static LIST_HEAD(probe_list); +static CDS_LIST_HEAD(probe_list); static DEFINE_MUTEX(probe_mutex); static @@ -23,7 +23,7 @@ const struct lttng_event_desc *find_event(const char *name) struct lttng_probe_desc *probe_desc; int i; - list_for_each_entry(probe_desc, &probe_list, head) { + cds_list_for_each_entry(probe_desc, &probe_list, head) { for (i = 0; i < probe_desc->nr_events; i++) { if (!strcmp(probe_desc->event_desc[i].name, name)) return &probe_desc->event_desc[i]; @@ -37,7 +37,7 @@ int ltt_probe_register(struct lttng_probe_desc *desc) int ret = 0; int i; - mutex_lock(&probe_mutex); + pthread_mutex_lock(&probe_mutex); /* * TODO: This is O(N^2). Turn into a hash table when probe registration * overhead becomes an issue. @@ -48,51 +48,44 @@ int ltt_probe_register(struct lttng_probe_desc *desc) goto end; } } - list_add(&desc->head, &probe_list); + cds_list_add(&desc->head, &probe_list); end: - mutex_unlock(&probe_mutex); + pthread_mutex_unlock(&probe_mutex); return ret; } -EXPORT_SYMBOL_GPL(ltt_probe_register); void ltt_probe_unregister(struct lttng_probe_desc *desc) { - mutex_lock(&probe_mutex); - list_del(&desc->head); - mutex_unlock(&probe_mutex); + pthread_mutex_lock(&probe_mutex); + cds_list_del(&desc->head); + pthread_mutex_unlock(&probe_mutex); } -EXPORT_SYMBOL_GPL(ltt_probe_unregister); const struct lttng_event_desc *ltt_event_get(const char *name) { const struct lttng_event_desc *event; - int ret; - mutex_lock(&probe_mutex); + pthread_mutex_lock(&probe_mutex); event = find_event(name); - mutex_unlock(&probe_mutex); + pthread_mutex_unlock(&probe_mutex); if (!event) return NULL; - ret = try_module_get(event->owner); - WARN_ON_ONCE(!ret); return event; } -EXPORT_SYMBOL_GPL(ltt_event_get); void ltt_event_put(const struct lttng_event_desc *event) { - module_put(event->owner); } -EXPORT_SYMBOL_GPL(ltt_event_put); +#if 0 static void *tp_list_start(struct seq_file *m, loff_t *pos) { struct lttng_probe_desc *probe_desc; int iter = 0, i; - mutex_lock(&probe_mutex); - list_for_each_entry(probe_desc, &probe_list, head) { + pthread_mutex_lock(&probe_mutex); + cds_list_for_each_entry(probe_desc, &probe_list, head) { for (i = 0; i < probe_desc->nr_events; i++) { if (iter++ >= *pos) return (void *) &probe_desc->event_desc[i]; @@ -109,7 +102,7 @@ void *tp_list_next(struct seq_file *m, void *p, loff_t *ppos) int iter = 0, i; (*ppos)++; - list_for_each_entry(probe_desc, &probe_list, head) { + cds_list_for_each_entry(probe_desc, &probe_list, head) { for (i = 0; i < probe_desc->nr_events; i++) { if (iter++ >= *ppos) return (void *) &probe_desc->event_desc[i]; @@ -122,7 +115,7 @@ void *tp_list_next(struct seq_file *m, void *p, loff_t *ppos) static void tp_list_stop(struct seq_file *m, void *p) { - mutex_unlock(&probe_mutex); + pthread_mutex_unlock(&probe_mutex); } static @@ -160,3 +153,4 @@ const struct file_operations lttng_tracepoint_list_fops = { .llseek = seq_lseek, .release = seq_release, }; +#endif //0