Index: ktop.h |
diff --git a/ktop.h b/ktop.h |
index dd77b3e44917019dcfd749d3b1ab51aa509c8081..c07f93d62f618397b76671f9e30aa90d60c9d114 100644 |
--- a/ktop.h |
+++ b/ktop.h |
@@ -3,8 +3,8 @@ |
* Distributed under the terms of the GNU General Public License v2 |
*/ |
-#ifndef _KTOP_H |
-#define _KTOP_H 1 |
+#ifndef _KTOP_H_ |
+#define _KTOP_H_ 1 |
#ifndef _STYLE_H_ |
#include <style.h> |
@@ -15,10 +15,11 @@ |
#endif |
enum { MAX_PID = 1 << 15, |
- MAX_PIDCALLS = 1 << 13, |
+ MAX_PIDCALLS = 1 << 10, |
MAX_NAME = 1 << 12, |
SYSCALL_SHIFT = 9, |
- SYSCALL_MASK = (1 << SYSCALL_SHIFT) - 1 }; |
+ SYSCALL_MASK = (1 << SYSCALL_SHIFT) - 1, |
+ NUM_ARGS = 6 }; |
CHECK_CONST((1 << SYSCALL_SHIFT) >= NUM_SYS_CALLS); |
@@ -37,34 +38,61 @@ static inline u32 get_call(u32 pidcall) |
return pidcall & SYSCALL_MASK; |
} |
-typedef struct Pidcall_s { |
+typedef void (*display_fn)(void); |
+ |
+typedef struct Pidcall_s Pidcall_s; |
+struct Pidcall_s { |
+ Pidcall_s *next; |
u32 pidcall; |
u32 count; |
-} Pidcall_s; |
- |
-typedef struct Collector_args_s { |
- int cpu_id; |
-} Collector_args_s; |
+ unint clock; |
+ struct { |
+ u64 start; |
+ u64 total; |
+ } time; |
+ struct { |
+ u32 count; |
+ u64 time; |
+ } save; |
+ unint arg[NUM_ARGS]; |
+ char *name; |
+}; |
extern bool Dump; /* Dump of ftrace logs - don't start display */ |
extern bool Trace_exit; /* Trace sys_exit events */ |
extern bool Trace_self; /* Trace myself and ignore others */ |
+extern display_fn Display; |
+void internal_display(void); |
+void kernel_display(void); |
+void file_system_display(void); |
+ |
extern u64 Syscall_count[NUM_SYS_CALLS]; |
extern int Pid[MAX_PID]; |
extern Pidcall_s Pidcall[MAX_PIDCALLS]; |
-extern Pidcall_s *Pidnext; |
+extern u64 PidcallRecord; |
+extern u64 PidcallIterations; |
+extern u64 Pidcall_tick; |
+ |
+extern u64 No_enter; |
+extern u64 Found; |
+extern u64 Out_of_order; |
+extern u64 No_start; |
extern u64 MyPidCount; |
extern u64 Slept; |
-extern int Command; |
+extern bool Halt; |
void cleanup(int sig); |
void cleanup_collector(void); |
void start_collector(void); |
-void *display(void *arg); |
+void *reduce(void *arg); |
+void decrease_reduce_interval(void); |
+void increase_reduce_interval(void); |
+void reset_reduce(void); |
+ |
void cleanup_display(void); |
void clear_display(void); |