X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-events.c;h=ff13b7c09f9aa76e72e754a5525c086837411cc5;hb=a56b8216002f8bdb622c1fa56e21900bcefa42a1;hp=1ca4d519b817730ea03b5c88da307ee40a36c10d;hpb=496a7e97ad97fc1fb490d12426f33f9d96470379;p=lttng-modules.git diff --git a/lttng-events.c b/lttng-events.c index 1ca4d519..ff13b7c0 100644 --- a/lttng-events.c +++ b/lttng-events.c @@ -23,27 +23,24 @@ #include #include #include -#include #include #include -#include #include #include +#include +#include -#include /* for wrapper_vmalloc_sync_all() */ #include -#include #include -#include #include #include #include #include #include #include +#include #include #include -#include #define METADATA_CACHE_DEFAULT_SIZE 4096 @@ -129,7 +126,8 @@ struct lttng_session *lttng_session_create(void) int i; mutex_lock(&sessions_mutex); - session = lttng_kvzalloc(sizeof(struct lttng_session), GFP_KERNEL); + session = kvzalloc_node(sizeof(struct lttng_session), GFP_KERNEL, + NUMA_NO_NODE); if (!session) goto err; INIT_LIST_HEAD(&session->chan); @@ -172,7 +170,7 @@ struct lttng_session *lttng_session_create(void) err_free_cache: kfree(metadata_cache); err_free_session: - lttng_kvfree(session); + kvfree(session); err: mutex_unlock(&sessions_mutex); return NULL; @@ -225,7 +223,7 @@ void lttng_session_destroy(struct lttng_session *session) kref_put(&session->metadata_cache->refcount, metadata_cache_destroy); list_del(&session->list); mutex_unlock(&sessions_mutex); - lttng_kvfree(session); + kvfree(session); } int lttng_session_statedump(struct lttng_session *session) @@ -823,9 +821,9 @@ void register_event(struct lttng_event *event) desc = event->desc; switch (event->instrumentation) { case LTTNG_KERNEL_TRACEPOINT: - ret = lttng_wrapper_tracepoint_probe_register(desc->kname, - desc->probe_callback, - event); + ret = lttng_tracepoint_probe_register(desc->kname, + desc->probe_callback, + event); break; case LTTNG_KERNEL_SYSCALL: ret = lttng_syscall_filter_enable(event->chan, @@ -859,7 +857,7 @@ int _lttng_event_unregister(struct lttng_event *event) desc = event->desc; switch (event->instrumentation) { case LTTNG_KERNEL_TRACEPOINT: - ret = lttng_wrapper_tracepoint_probe_unregister(event->desc->kname, + ret = lttng_tracepoint_probe_unregister(event->desc->kname, event->desc->probe_callback, event); break; @@ -1140,7 +1138,7 @@ int lttng_session_list_tracker_ids(struct lttng_session *session, struct seq_file *m; int file_fd, ret; - file_fd = lttng_get_unused_fd(); + file_fd = get_unused_fd_flags(0); if (file_fd < 0) { ret = file_fd; goto fd_error; @@ -1185,8 +1183,8 @@ static int lttng_match_enabler_star_glob(const char *desc_name, const char *pattern) { - if (!strutils_star_glob_match(pattern, LTTNG_SIZE_MAX, - desc_name, LTTNG_SIZE_MAX)) + if (!strutils_star_glob_match(pattern, SIZE_MAX, + desc_name, SIZE_MAX)) return 0; return 1; } @@ -2511,20 +2509,12 @@ int64_t measure_clock_offset(void) uint64_t tcf = trace_clock_freq(); int64_t offset; unsigned long flags; -#ifdef LTTNG_KERNEL_HAS_TIMESPEC64 struct timespec64 rts = { 0, 0 }; -#else - struct timespec rts = { 0, 0 }; -#endif /* Disable interrupts to increase correlation precision. */ local_irq_save(flags); monotonic[0] = trace_clock_read64(); -#ifdef LTTNG_KERNEL_HAS_TIMESPEC64 ktime_get_real_ts64(&rts); -#else - getnstimeofday(&rts); -#endif monotonic[1] = trace_clock_read64(); local_irq_restore(flags); @@ -2793,22 +2783,10 @@ end: * @transport: transport structure * * Registers a transport which can be used as output to extract the data out of - * LTTng. The module calling this registration function must ensure that no - * trap-inducing code will be executed by the transport functions. E.g. - * vmalloc_sync_all() must be called between a vmalloc and the moment the memory - * is made visible to the transport function. This registration acts as a - * vmalloc_sync_all. Therefore, only if the module allocates virtual memory - * after its registration must it synchronize the TLBs. + * LTTng. */ void lttng_transport_register(struct lttng_transport *transport) { - /* - * Make sure no page fault can be triggered by the module about to be - * registered. We deal with this here so we don't have to call - * vmalloc_sync_all() in each module's init. - */ - wrapper_vmalloc_sync_all(); - mutex_lock(&sessions_mutex); list_add_tail(&transport->node, <tng_transport_list); mutex_unlock(&sessions_mutex); @@ -2958,9 +2936,6 @@ static int __init lttng_events_init(void) { int ret; - ret = wrapper_lttng_fixup_sig(THIS_MODULE); - if (ret) - return ret; ret = wrapper_get_pfnblock_flags_mask_init(); if (ret) return ret;