X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-context-prio.c;h=972b1f4c66a5369c8d05aeb891b19f54fe66add8;hb=6afd444b862a34b0cce8309bfabaef7ec9f9054d;hp=b3e942d174cf8df5dd2e05ecd65bb54502a2abe8;hpb=b7cdc18250880cc44edeef4a4b42c8ac7a135a6d;p=lttng-modules.git diff --git a/lttng-context-prio.c b/lttng-context-prio.c index b3e942d1..972b1f4c 100644 --- a/lttng-context-prio.c +++ b/lttng-context-prio.c @@ -12,23 +12,8 @@ #include #include #include -#include -#include #include -static -int (*wrapper_task_prio_sym)(struct task_struct *t); - -int wrapper_task_prio_init(void) -{ - wrapper_task_prio_sym = (void *) kallsyms_lookup_funcptr("task_prio"); - if (!wrapper_task_prio_sym) { - printk(KERN_WARNING "LTTng: task_prio symbol lookup failed.\n"); - return -EINVAL; - } - return 0; -} - static size_t prio_get_size(size_t offset) { @@ -46,7 +31,7 @@ void prio_record(struct lttng_ctx_field *field, { int prio; - prio = wrapper_task_prio_sym(current); + prio = task_prio(current); lib_ring_buffer_align_ctx(ctx, lttng_alignof(prio)); chan->ops->event_write(ctx, &prio, sizeof(prio)); } @@ -56,19 +41,12 @@ void prio_get_value(struct lttng_ctx_field *field, struct lttng_probe_ctx *lttng_probe_ctx, union lttng_ctx_value *value) { - value->s64 = wrapper_task_prio_sym(current); + value->s64 = task_prio(current); } int lttng_add_prio_to_ctx(struct lttng_ctx **ctx) { struct lttng_ctx_field *field; - int ret; - - if (!wrapper_task_prio_sym) { - ret = wrapper_task_prio_init(); - if (ret) - return ret; - } field = lttng_append_context(ctx); if (!field) @@ -79,17 +57,16 @@ int lttng_add_prio_to_ctx(struct lttng_ctx **ctx) } field->event_field.name = "prio"; field->event_field.type.atype = atype_integer; - field->event_field.type.u.basic.integer.size = sizeof(int) * CHAR_BIT; - field->event_field.type.u.basic.integer.alignment = lttng_alignof(int) * CHAR_BIT; - field->event_field.type.u.basic.integer.signedness = lttng_is_signed_type(int); - field->event_field.type.u.basic.integer.reverse_byte_order = 0; - field->event_field.type.u.basic.integer.base = 10; - field->event_field.type.u.basic.integer.encoding = lttng_encode_none; + field->event_field.type.u.integer.size = sizeof(int) * CHAR_BIT; + field->event_field.type.u.integer.alignment = lttng_alignof(int) * CHAR_BIT; + field->event_field.type.u.integer.signedness = lttng_is_signed_type(int); + field->event_field.type.u.integer.reverse_byte_order = 0; + field->event_field.type.u.integer.base = 10; + field->event_field.type.u.integer.encoding = lttng_encode_none; field->get_size = prio_get_size; field->record = prio_record; field->get_value = prio_get_value; lttng_context_update(*ctx); - wrapper_vmalloc_sync_all(); return 0; } EXPORT_SYMBOL_GPL(lttng_add_prio_to_ctx);