Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 163753
b: refs/heads/master
c: 6668567
h: refs/heads/master
i:
  163751: 1627e39
v: v3
  • Loading branch information
Frederic Weisbecker authored and Ingo Molnar committed Sep 13, 2009
1 parent 58d8acc commit 4d022db
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 27 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c6ced61112f1e6139914149fab65695801a74f0f
refs/heads/master: 66685678a03d0d8e8ba015472f280fb4f12f84c1
48 changes: 22 additions & 26 deletions trunk/tools/perf/builtin-sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -884,6 +884,10 @@ struct task_atoms {
struct list_head snapshot_list;
struct thread *thread;
struct rb_node node;
u64 max_lat;
u64 total_lat;
u64 nb_atoms;
u64 total_runtime;
};

static struct rb_root lat_snapshot_root;
Expand Down Expand Up @@ -985,6 +989,7 @@ static void
lat_sched_in(struct task_atoms *atoms, u64 timestamp)
{
struct work_atom *snapshot;
u64 delta;

if (list_empty(&atoms->snapshot_list))
return;
Expand All @@ -1002,6 +1007,13 @@ lat_sched_in(struct task_atoms *atoms, u64 timestamp)

snapshot->state = THREAD_SCHED_IN;
snapshot->sched_in_time = timestamp;

delta = snapshot->sched_in_time - snapshot->wake_up_time;
atoms->total_lat += delta;
if (delta > atoms->max_lat)
atoms->max_lat = delta;
atoms->nb_atoms++;
atoms->total_runtime += snapshot->runtime;
}

static void
Expand Down Expand Up @@ -1099,43 +1111,27 @@ static u64 all_count;

static void output_lat_thread(struct task_atoms *atom_list)
{
struct work_atom *atom;
int count = 0;
int i;
int ret;
u64 max = 0, avg;
u64 total = 0, delta;
u64 total_runtime = 0;

list_for_each_entry(atom, &atom_list->snapshot_list, list) {
total_runtime += atom->runtime;

if (atom->state != THREAD_SCHED_IN)
continue;

count++;
u64 avg;

delta = atom->sched_in_time - atom->wake_up_time;
if (delta > max)
max = delta;
total += delta;
}

all_runtime += total_runtime;
all_count += count;

if (!count)
if (!atom_list->nb_atoms)
return;

all_runtime += atom_list->total_runtime;
all_count += atom_list->nb_atoms;

ret = printf(" %s ", atom_list->thread->comm);

for (i = 0; i < 19 - ret; i++)
printf(" ");

avg = total / count;
avg = atom_list->total_lat / atom_list->nb_atoms;

printf("|%9.3f ms |%9d | avg:%9.3f ms | max:%9.3f ms |\n",
(double)total_runtime/1e9, count, (double)avg/1e9, (double)max/1e9);
printf("|%9.3f ms |%9llu | avg:%9.3f ms | max:%9.3f ms |\n",
(double)atom_list->total_runtime / 1e9,
atom_list->nb_atoms, (double)avg / 1e9,
(double)atom_list->max_lat / 1e9);
}

static void __cmd_lat(void)
Expand Down

0 comments on commit 4d022db

Please sign in to comment.