projects
/
lttng-modules.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Contexts for RT debugging
[lttng-modules.git]
/
probes
/
lttng-kretprobes.c
diff --git
a/probes/lttng-kretprobes.c
b/probes/lttng-kretprobes.c
index 52b3f78138f94978427eedc8e197175527270274..eb3f68573dc895554af4484d0a8aad03ddcf284a 100644
(file)
--- a/
probes/lttng-kretprobes.c
+++ b/
probes/lttng-kretprobes.c
@@
-27,6
+27,7
@@
#include "../lttng-events.h"
#include "../wrapper/ringbuffer/frontend_types.h"
#include "../wrapper/vmalloc.h"
#include "../lttng-events.h"
#include "../wrapper/ringbuffer/frontend_types.h"
#include "../wrapper/vmalloc.h"
+#include "../wrapper/irqflags.h"
#include "../lttng-tracer.h"
enum lttng_kretprobe_type {
#include "../lttng-tracer.h"
enum lttng_kretprobe_type {
@@
-50,6
+51,10
@@
int _lttng_kretprobes_handler(struct kretprobe_instance *krpi,
container_of(krpi->rp, struct lttng_krp, krp);
struct lttng_event *event =
lttng_krp->event[type];
container_of(krpi->rp, struct lttng_krp, krp);
struct lttng_event *event =
lttng_krp->event[type];
+ struct lttng_probe_ctx lttng_probe_ctx = {
+ .event = event,
+ .interruptible = lttng_regs_irqs_disabled(regs),
+ };
struct lttng_channel *chan = event->chan;
struct lib_ring_buffer_ctx ctx;
int ret;
struct lttng_channel *chan = event->chan;
struct lib_ring_buffer_ctx ctx;
int ret;
@@
-68,7
+73,7
@@
int _lttng_kretprobes_handler(struct kretprobe_instance *krpi,
payload.ip = (unsigned long) krpi->rp->kp.addr;
payload.parent_ip = (unsigned long) krpi->ret_addr;
payload.ip = (unsigned long) krpi->rp->kp.addr;
payload.parent_ip = (unsigned long) krpi->ret_addr;
- lib_ring_buffer_ctx_init(&ctx, chan->chan,
event
, sizeof(payload),
+ lib_ring_buffer_ctx_init(&ctx, chan->chan,
<tng_probe_ctx
, sizeof(payload),
lttng_alignof(payload), -1);
ret = chan->ops->event_reserve(&ctx, event->id);
if (ret < 0)
lttng_alignof(payload), -1);
ret = chan->ops->event_reserve(&ctx, event->id);
if (ret < 0)
This page took
0.02357 seconds
and
4
git commands to generate.