aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mach/task_info.h10
-rw-r--r--include/mach/thread_info.h6
-rw-r--r--kern/mach_clock.c2
-rw-r--r--kern/mach_clock.h2
-rw-r--r--kern/thread.c2
-rw-r--r--kern/timer.h12
6 files changed, 23 insertions, 11 deletions
diff --git a/include/mach/task_info.h b/include/mach/task_info.h
index 3aaa7cd6..f448ee04 100644
--- a/include/mach/task_info.h
+++ b/include/mach/task_info.h
@@ -56,11 +56,11 @@ struct task_basic_info {
integer_t base_priority; /* base scheduling priority */
rpc_vm_size_t virtual_size; /* number of virtual pages */
rpc_vm_size_t resident_size; /* number of resident pages */
- time_value_t user_time; /* total user run time for
+ rpc_time_value_t user_time; /* total user run time for
terminated threads */
- time_value_t system_time; /* total system run time for
+ rpc_time_value_t system_time; /* total system run time for
terminated threads */
- time_value_t creation_time; /* creation time stamp */
+ rpc_time_value_t creation_time; /* creation time stamp */
};
typedef struct task_basic_info task_basic_info_data_t;
@@ -89,9 +89,9 @@ typedef struct task_events_info *task_events_info_t;
only accurate if suspended */
struct task_thread_times_info {
- time_value_t user_time; /* total user run time for
+ rpc_time_value_t user_time; /* total user run time for
live threads */
- time_value_t system_time; /* total system run time for
+ rpc_time_value_t system_time; /* total system run time for
live threads */
};
diff --git a/include/mach/thread_info.h b/include/mach/thread_info.h
index 569c8c84..46c1ceca 100644
--- a/include/mach/thread_info.h
+++ b/include/mach/thread_info.h
@@ -55,8 +55,8 @@ typedef integer_t thread_info_data_t[THREAD_INFO_MAX];
#define THREAD_BASIC_INFO 1 /* basic information */
struct thread_basic_info {
- time_value_t user_time; /* user run time */
- time_value_t system_time; /* system run time */
+ rpc_time_value_t user_time; /* user run time */
+ rpc_time_value_t system_time; /* system run time */
integer_t cpu_usage; /* scaled cpu usage percentage */
integer_t base_priority; /* base scheduling priority */
integer_t cur_priority; /* current scheduling priority */
@@ -65,7 +65,7 @@ struct thread_basic_info {
integer_t suspend_count; /* suspend count for thread */
integer_t sleep_time; /* number of seconds that thread
has been sleeping */
- time_value_t creation_time; /* time stamp of creation */
+ rpc_time_value_t creation_time; /* time stamp of creation */
};
typedef struct thread_basic_info thread_basic_info_data_t;
diff --git a/kern/mach_clock.c b/kern/mach_clock.c
index 09717d16..ed38c76b 100644
--- a/kern/mach_clock.c
+++ b/kern/mach_clock.c
@@ -429,7 +429,7 @@ record_time_stamp(time_value_t *stamp)
* real-time clock frame.
*/
void
-read_time_stamp (const time_value_t *stamp, time_value_t *result)
+read_time_stamp (const time_value_t *stamp, rpc_time_value_t *result)
{
time_value64_t result64;
TIME_VALUE_TO_TIME_VALUE64(stamp, &result64);
diff --git a/kern/mach_clock.h b/kern/mach_clock.h
index 7e8d3046..9a670011 100644
--- a/kern/mach_clock.h
+++ b/kern/mach_clock.h
@@ -98,7 +98,7 @@ extern void record_time_stamp (time_value_t *stamp);
* Read a timestamp in STAMP into RESULT. Returns values in the
* real-time clock frame.
*/
-extern void read_time_stamp (const time_value_t *stamp, time_value_t *result);
+extern void read_time_stamp (const time_value_t *stamp, rpc_time_value_t *result);
extern void mapable_time_init (void);
diff --git a/kern/thread.c b/kern/thread.c
index 17cc458c..4a6b9eda 100644
--- a/kern/thread.c
+++ b/kern/thread.c
@@ -1522,7 +1522,7 @@ kern_return_t thread_info(
/* fill in info */
- thread_read_times(thread,
+ thread_read_times_rpc(thread,
&basic_info->user_time,
&basic_info->system_time);
basic_info->base_priority = thread->priority;
diff --git a/kern/timer.h b/kern/timer.h
index 35782b41..89790230 100644
--- a/kern/timer.h
+++ b/kern/timer.h
@@ -134,6 +134,18 @@ extern unsigned timer_delta(timer_t, timer_save_t);
extern void timer_normalize(timer_t);
extern void timer_init(timer_t);
+static inline void
+thread_read_times_rpc(thread_t thread,
+ rpc_time_value_t *user_time_p, rpc_time_value_t *system_time_p)
+{
+ time_value_t user_p, system_p;
+ thread_read_times(thread, &user_p, &system_p);
+ user_time_p->seconds = user_p.seconds;
+ user_time_p->microseconds = user_p.microseconds;
+ system_time_p->seconds = system_p.seconds;
+ system_time_p->microseconds = system_p.microseconds;
+}
+
#if STAT_TIME
/*
* Macro to bump timer values.