am 9e38da5f: am 1a379899: Merge "toolbox: schedtop 64 bit build issue"

* commit '9e38da5fd2daa02aff6adf5e1b95b056d4b7e0d0':
  toolbox: schedtop 64 bit build issue
This commit is contained in:
Mark Salyzyn 2014-03-14 00:41:03 +00:00 committed by Android Git Automerger
commit 713aedd74a

View file

@ -1,26 +1,23 @@
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h> #include <ctype.h>
#include <dirent.h>
#include <fcntl.h> #include <fcntl.h>
#include <unistd.h> #include <pwd.h>
#include <signal.h>
#include <stdio.h>
#include <stdint.h> #include <stdint.h>
#include <stdlib.h>
#include <string.h> #include <string.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/types.h> #include <sys/types.h>
#include <dirent.h> #include <unistd.h>
#include <signal.h>
#include <pwd.h>
struct thread_info { struct thread_info {
int pid; int pid;
int tid; int tid;
char name[64]; char name[64];
uint64_t exec_time; unsigned long long exec_time;
uint64_t delay_time; unsigned long long delay_time;
uint32_t run_count; unsigned long long run_count;
}; };
struct thread_table { struct thread_table {
@ -110,7 +107,8 @@ static void add_thread(int pid, int tid, struct thread_info *proc_info)
sprintf(line, "/proc/%d/schedstat", pid); sprintf(line, "/proc/%d/schedstat", pid);
if (read_line(line, sizeof(line))) if (read_line(line, sizeof(line)))
return; return;
if(sscanf(line, "%llu %llu %u", &info->exec_time, &info->delay_time, &info->run_count) != 3) if(sscanf(line, "%llu %llu %llu",
&info->exec_time, &info->delay_time, &info->run_count) != 3)
return; return;
if (proc_info) { if (proc_info) {
proc_info->exec_time += info->exec_time; proc_info->exec_time += info->exec_time;
@ -183,7 +181,7 @@ static void print_threads(int pid, uint32_t flags)
if (j == threads.active) if (j == threads.active)
printf(" %5u died\n", tid); printf(" %5u died\n", tid);
else if (!(flags & FLAG_HIDE_IDLE) || threads.data[j].run_count - last_threads.data[i].run_count) else if (!(flags & FLAG_HIDE_IDLE) || threads.data[j].run_count - last_threads.data[i].run_count)
printf(" %5u %2u.%0*u %2u.%0*u %5u %5u.%0*u %5u.%0*u %7u %s\n", tid, printf(" %5u %2u.%0*u %2u.%0*u %5llu %5u.%0*u %5u.%0*u %7llu %s\n", tid,
NS_TO_S_D(threads.data[j].exec_time - last_threads.data[i].exec_time), NS_TO_S_D(threads.data[j].exec_time - last_threads.data[i].exec_time),
NS_TO_S_D(threads.data[j].delay_time - last_threads.data[i].delay_time), NS_TO_S_D(threads.data[j].delay_time - last_threads.data[i].delay_time),
threads.data[j].run_count - last_threads.data[i].run_count, threads.data[j].run_count - last_threads.data[i].run_count,
@ -236,7 +234,7 @@ static void update_table(DIR *d, uint32_t flags)
if (j == processes.active) if (j == processes.active)
printf("%5u died\n", pid); printf("%5u died\n", pid);
else if (!(flags & FLAG_HIDE_IDLE) || processes.data[j].run_count - last_processes.data[i].run_count) { else if (!(flags & FLAG_HIDE_IDLE) || processes.data[j].run_count - last_processes.data[i].run_count) {
printf("%5u %2u.%0*u %2u.%0*u %5u %5u.%0*u %5u.%0*u %7u %s\n", pid, printf("%5u %2u.%0*u %2u.%0*u %5llu %5u.%0*u %5u.%0*u %7llu %s\n", pid,
NS_TO_S_D(processes.data[j].exec_time - last_processes.data[i].exec_time), NS_TO_S_D(processes.data[j].exec_time - last_processes.data[i].exec_time),
NS_TO_S_D(processes.data[j].delay_time - last_processes.data[i].delay_time), NS_TO_S_D(processes.data[j].delay_time - last_processes.data[i].delay_time),
processes.data[j].run_count - last_processes.data[i].run_count, processes.data[j].run_count - last_processes.data[i].run_count,