aboutsummaryrefslogtreecommitdiff
path: root/drivers/gator/gator_marshaling.c
diff options
context:
space:
mode:
authorJon Medhurst <tixy@linaro.org>2013-12-19 09:23:06 +0000
committerJon Medhurst <tixy@linaro.org>2013-12-19 09:23:06 +0000
commit34d9769988397a1edf93ad1966c167591ab29e79 (patch)
tree87ff173a35abc79ffb9d3507a9853c3623be9985 /drivers/gator/gator_marshaling.c
parentd369859ea66a29a79162f622a3816c4eb9024940 (diff)
gator: Version 5.17
Signed-off-by: Jon Medhurst <tixy@linaro.org>
Diffstat (limited to 'drivers/gator/gator_marshaling.c')
-rw-r--r--drivers/gator/gator_marshaling.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/gator/gator_marshaling.c b/drivers/gator/gator_marshaling.c
index 3282de843f7..af80ff62e71 100644
--- a/drivers/gator/gator_marshaling.c
+++ b/drivers/gator/gator_marshaling.c
@@ -89,6 +89,25 @@ static void marshal_thread_name(int pid, char *name)
local_irq_restore(flags);
}
+static void marshal_link(int cookie, int tgid, int pid)
+{
+ unsigned long cpu = get_physical_cpu(), flags;
+ u64 time;
+
+ local_irq_save(flags);
+ time = gator_get_time();
+ if (buffer_check_space(cpu, NAME_BUF, MAXSIZE_PACK64 + 5 * MAXSIZE_PACK32)) {
+ gator_buffer_write_packed_int(cpu, NAME_BUF, MESSAGE_LINK);
+ gator_buffer_write_packed_int64(cpu, NAME_BUF, time);
+ gator_buffer_write_packed_int(cpu, NAME_BUF, cookie);
+ gator_buffer_write_packed_int(cpu, NAME_BUF, tgid);
+ gator_buffer_write_packed_int(cpu, NAME_BUF, pid);
+ }
+ // Check and commit; commit is set to occur once buffer is 3/4 full
+ buffer_check(cpu, NAME_BUF, time);
+ local_irq_restore(flags);
+}
+
static bool marshal_backtrace_header(int exec_cookie, int tgid, int pid, int inKernel, u64 time)
{
int cpu = get_physical_cpu();