projects
/
lttngtop.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bugfix pretty-printing and begin kprobes
[lttngtop.git]
/
src
/
cputop.c
diff --git
a/src/cputop.c
b/src/cputop.c
index d652b5b43e5bff161e48886945fc05cb3982a7a3..2e0ccddfdc3111dbb0cab02653fd559478818197 100644
(file)
--- a/
src/cputop.c
+++ b/
src/cputop.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (C) 2011 Julien Desfossez
+ * Copyright (C) 2011
-2012
Julien Desfossez
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License Version 2 as
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License Version 2 as
@@
-33,7
+33,8
@@
void update_cputop_data(unsigned long timestamp, int64_t cpu, int prev_pid,
elapsed = timestamp - tmpcpu->task_start;
tmpcpu->current_task->totalcpunsec += elapsed;
tmpcpu->current_task->threadstotalcpunsec += elapsed;
elapsed = timestamp - tmpcpu->task_start;
tmpcpu->current_task->totalcpunsec += elapsed;
tmpcpu->current_task->threadstotalcpunsec += elapsed;
- if (tmpcpu->current_task->pid != tmpcpu->current_task->tid)
+ if (tmpcpu->current_task->threadparent &&
+ tmpcpu->current_task->pid != tmpcpu->current_task->tid)
tmpcpu->current_task->threadparent->threadstotalcpunsec += elapsed;
}
tmpcpu->current_task->threadparent->threadstotalcpunsec += elapsed;
}
@@
-48,7
+49,7
@@
void update_cputop_data(unsigned long timestamp, int64_t cpu, int prev_pid,
enum bt_cb_ret handle_sched_switch(struct bt_ctf_event *call_data,
void *private_data)
{
enum bt_cb_ret handle_sched_switch(struct bt_ctf_event *call_data,
void *private_data)
{
-
struct
definition *scope;
+
const struct bt_
definition *scope;
unsigned long timestamp;
uint64_t cpu_id;
char *prev_comm, *next_comm;
unsigned long timestamp;
uint64_t cpu_id;
char *prev_comm, *next_comm;
@@
-102,7
+103,7
@@
error:
enum bt_cb_ret handle_sched_process_free(struct bt_ctf_event *call_data,
void *private_data)
{
enum bt_cb_ret handle_sched_process_free(struct bt_ctf_event *call_data,
void *private_data)
{
-
struct
definition *scope;
+
const struct bt_
definition *scope;
unsigned long timestamp;
char *comm;
int tid;
unsigned long timestamp;
char *comm;
int tid;
@@
-120,7
+121,13
@@
enum bt_cb_ret handle_sched_process_free(struct bt_ctf_event *call_data,
goto error;
}
goto error;
}
- tid = get_context_tid(call_data);
+ tid = bt_ctf_get_int64(bt_ctf_get_field(call_data,
+ scope, "_tid"));
+ if (bt_ctf_field_get_error()) {
+ fprintf(stderr, "Missing tid field\n");
+ goto error;
+ }
+
death_proc(<tngtop, tid, comm, timestamp);
return BT_CB_OK;
death_proc(<tngtop, tid, comm, timestamp);
return BT_CB_OK;
This page took
0.023242 seconds
and
4
git commands to generate.